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