父服务关闭时,Apollo 联合网关无法加载

Posted

技术标签:

【中文标题】父服务关闭时,Apollo 联合网关无法加载【英文标题】:Apollo Federation Gateway can't load when parent service goes down 【发布时间】:2020-09-06 18:24:44 【问题描述】:

我有 3 个服务:Org、Gatekeeper 和 Fleet。 Gatekeeper 和 Fleet 从 Org 服务扩展 Org 模式。然后 Org 服务器启动并与舰队和网守一起运行,一切正常,但如果 org 关闭并且我尝试仅使用舰队和网守运行网关,我收到错误“未知类型:组织”

我在 apollo 的 API 参考中读到,网守/车队应该独立运行,但这是否意味着只有我启动了网守服务器?独立服务器可以工作,但如果父服务关闭,则不能通过网关。有没有办法让它工作?

【问题讨论】:

【参考方案1】:

Apollo 文档意味着您应该能够独立运行这些服务中的每一项。例如,假设您只开发了 gatekeeper 而没有开发fleet/org。您可以通过独立运行服务器并查询/改变它来测试它。联邦添加到架构中的所有内容“都可以忽略”。

但是,一旦您尝试在联合环境中运行它,就不能忽略它。这是因为指令和其他规范更改对网关有意义。他们都必须准备好网关才能工作。

【讨论】:

以上是关于父服务关闭时,Apollo 联合网关无法加载的主要内容,如果未能解决你的问题,请参考以下文章

Apollo 网关在 docker-compose 中不起作用

Apollo 联合网关背后的 Hasura GraphQL 端点

尝试使用 .NET Core GraphQL 联合子图时,Apollo 联合网关返回错误

当服务器关闭时 React-Apollo 捕获

如何对 GCP Cloud Run 上的联合 GraphQL 服务进行身份验证?

使用 Key 启动网关以验证配置,然后使用 Bearer 令牌进行查询