概述
现在我们已经熟悉了联合架构,让我们深入了解帮助我们构建和管理它的开发平台。Apollo GraphOS。
在本课中,我们将
- 概述从头到尾 超级图 的整体制作流程。
托管联合
托管联合 是一种维护 超级图 的方法。使用 托管联合,我们的超级图的更新由 Apollo GraphOS 处理。
GraphOS 是一个开发平台,它可以帮助我们构建、管理和扩展我们的 超级图。 GraphOS 跟踪和组合 子图模式 在注册表中,提供可观察性指标,确保安全 模式交付 等更多功能。
要与 GraphOS 交互,我们使用 GraphOS Studio 和 Rover CLI。
GraphOS Studio 是 GraphOS 的主要 Web 界面。我们可以使用 Studio 创建我们的 超级图,查看模式和指标,并在 Explorer 中测试 操作。如果您在我们这里在 奥德赛 上构建了 GraphQL 服务器,那么您可能以前使用过 Studio,或者它的免费精简版:Sandbox。
The Rover CLI 是 GraphOS 的主要命令行界面。我们可以使用 Rover 发布 子图模式,从 CI 运行 模式检查,并在开发环境中测试我们的 超级图。我们将在课程的后面看到这些的实际应用!
我们将使用 Studio 和 Rover,因为我们使用 托管联合 来构建我们的 超级图!
托管联合工作流程
从高层次来看, 托管联合 工作流程如下所示:
- 后端开发人员设计和构建他们的 子图。
- 有人在 GraphOS Studio 中创建一个新的 超级图。
- 后端开发人员将他们的 子图模式 发布到模式注册表。
- 模式注册表会自动将 子图模式 组合成 超级图模式,并通过 Apollo Uplink 提供访问。
- The 路由器 会自动定期轮询 Uplink,查看是否有超级图模式的新版本。
让我们仔细看看这些步骤中的每一个。
步骤 1:团队构建子图
后端团队独立构建他们的 子图服务器,可以使用他们喜欢的任何语言和框架。
步骤 2:在 GraphOS Studio 中创建新超级图
接下来,有人需要在 Studio 中创建一个新的 超级图。只需要一个人执行此步骤。
步骤 3:发布子图模式
当我们对我们的 子图 感到满意时,我们将使用 Rover CLI 将每个子图的模式发布到模式注册表。模式注册表是一个 Apollo 托管的版本控制系统,它使我们能够跟踪模式随时间的变化,例如添加、修改和删除了哪些类型和 字段。注册表几乎支持 Apollo GraphOS 中的每一个功能。
步骤 4:组合超级图模式
当模式注册表获得 子图模式 的新版本或更新版本时,它会触发一个 启动。一个 启动 代表对 图 进行模式更新的完整过程。
首先, GraphOS 将开始 构建 The 超级图模式。它尝试将来自其注册的 子图 的所有模式组合成一个超级图模式。这个过程也被称为 组合。非常酷!
如果 组合 失败,模式注册表会在 Studio 中显示错误,并且该过程会在启动失败的情况下停止。不用担心:我们可以使用错误消息来修复我们的 子图 中的问题,然后尝试使用 Rover 再次发布子图。
如果 组合 成功并且没有验证错误,模式注册表会生成一个 超级图模式。
模式注册表会自动将 超级图模式 发送到 Studio 中名为 Apollo Uplink 的内部服务。Uplink 是一个服务器,它存储每个图的最新超级图模式。
步骤 5:路由器轮询 Uplink 以获取最新的超级图模式
接下来,我们需要 路由器 连接到步骤 2 中在 Studio 中创建的 超级图。
The 路由器 会自动定期轮询 Uplink,查看是否有超级图模式的新版本。
大多数情况下,路由器会发现存储在 Uplink 中的超级图模式版本与它正在使用的版本相同。在这种情况下,不会发生任何变化。
但如果路由器发现 Uplink 包含新的版本的超级图模式,则路由器会自动更新以使用新版本 - 无需重启服务器,也无需停机!启动将成功完成。
现在,任何与路由器通信的客户端都可以引用和查询更新后的模式。
以下是包含超级图的完整托管联邦工作流程:
有了我们 API 的“真相来源”,即超级图模式,它驻留在GraphOS中,我们将能够访问诸如图注册表、可观察性指标、安全的模式交付等更多功能。
练习
将项目从此框中拖动到上面的空白处
组合
托管联邦
版本控制
解析器
数据源
Apollo Uplink
路由器
构造
超级图模式
子图
关键要点
- 客户端向路由器发送GraphQL 操作。路由器接收此请求,确定哪些子图负责解析它,并将操作发送到相应的子图。子图解析数据并将其返回给路由器,路由器将其打包起来并返回给客户端。
- 创建或更新子图模式后,开发人员使用Rover CLI将子图模式发布到 Apollo 模式注册表中。
- GraphOS 组合了子图模式,形成超级图模式,路由器使用它来解析传入的客户端请求。
- 使用托管联邦,对路由器的模式更新由GraphOS管理,并且零停机时间。
下一步
现在是时候组合超级图了。
分享您对本课的疑问和评论
本课程目前处于
您需要一个 GitHub 帐户才能在下面发布。没有帐户? 在 Odyssey 论坛中发布。