自动重新加载网关以适应联合服务 apollo GraphQL 中的架构更改

A.K*_*A.K 6 graphql apollo-server apollo-federation

在 Apollo Federation 中,我面临这样的问题:每次我们对服务列表中的任何联合服务的架构进行更改时,都需要重新启动网关。据我所知,每次网关启动时,它都会收集所有架构并聚合数据图。但是有没有一种方法可以在不重新启动网关的情况下自动处理此问题,因为它也会关闭所有其他不受影响的 GraphQL 联合服务

Apollo GraphQL,@apollo/gateway

Oli*_*alo 2

您可以使用一个实验性轮询间隔:

const gateway = new ApolloGateway({
  serviceList: [
    { name: "products", url: "http://localhost:4002" },
    { name: "inventory", url: "http://localhost:4001" },
    { name: "accounts", url: "http://localhost:4000" }
  ],
    debug: true,
    experimental_pollInterval:3000
})
Run Code Online (Sandbox Code Playgroud)

上面的代码每 3 秒拉一次