我希望优化在graphql-java和graphql-java-tools上运行的GraphQL端点。
我有以下架构:
{
product(id: String) {
id
title
offer {
price
}
}
}id和title来自服务A,价格来自服务B。
现在,我有一个GraphQLQueryResolver,它返回一个CompletableFuture<ProductResponse>,其中ProductResponse包含id和title,我还有另一个GraphQLResolver<ProductResponse>,它的offer(ProductResponse productResponse)方法返回一个CompletableFuture<OfferResponse>。
但是,这意味着我必须等待服务A返回ProductResponse,才能开始向服务B查询OfferResponse。这两个服务只需要ID作为输入,因此可以并行执行。有没有办法在不调整模式的情况下并行执行这两个服务调用?
发布于 2019-08-15 04:01:02
我认为你可以考虑使用Apollo联邦,它以一种通用的方式解决了这个问题,但仍然是以一种优雅的方式。
https://stackoverflow.com/questions/50017691
复制相似问题