联合 GraphQL 网关更新服务和架构

时间:2021-01-06 19:50:16

标签: kubernetes graphql apollo federated

以具有多个服务的联合 graphQL 为例,其中一些服务依赖于其他服务,如下所示:

enter image description here

网关是使用 Apollo 定义的:

const gateway = new ApolloGateway({
  serviceList: services
});

其中服务是一组可用的正在运行的服务。

有一个 kubernetes 管理每个服务的可用性,因此每次服务启动或关闭时,kubernetes 都会警告网关,因此它更新此数组,并使用 gateway.load() 使用正确的可用服务更新服务器。

问题是当一个服务出现故障并且其他一些服务依赖于它时,就像上图一样,如果 Role 出现故障,Person 也会受到影响。 >

我想知道是否可以配置网关以更改服务的架构以消除依赖关系。在这种情况下,当 Role 关闭时,请更改 Person 架构,以便客户端无法再使用此字段(因为它已关闭)。

如果不可能,是否有变通的解决方案?

0 个答案:

没有答案
相关问题