【发布时间】:2018-10-05 15:50:32
【问题描述】:
我希望优化在 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 作为输入,因此可以并行执行。
有什么方法可以在不调整架构的情况下并行执行两个服务调用?
【问题讨论】:
标签: graphql graphql-java