0

我们使用 GraphQL API 在多个 AWS 区域部署后端服务。每个区域的 GraphQL 模式都是相同的,但服务提供区域特定的数据。Apollo federation 似乎没有解决这个话题,因为我们不想合并不同的模式。我们的问题也不在于选择最近的区域。客户端选择特定区域来访问该区域提供的数据。

使用 REST,反向代理可以根据路径参数将请求转发到目标区域。然而,在 GraphQL 中,所有请求都针对同一个端点。

将 GraphQL 请求路由到使用相同架构但提供不同内容的不同区域的最佳实践是什么?

编辑:也许同样重要的是要注意我们也在使用 GraphQL 订阅。如果可能的话,最好避免连接到客户端中的多个端点。

4

1 回答 1

0

无论 REST 还是 GraphQL,我认为必须在请求到达其中一个区域服务之前完成全局路由。

例如,使用 Route 53,您可以创建不同的子域us.example.comeurope.example.com每个子域都指向相应的区域 GraphQL API。

如果你想在同一区域内跨 AZ 路由,那么你可以使用 ELB。

于 2022-01-19T10:16:32.677 回答