Supergraphs 的路由
了解自托管和云路由选项
使用supergraph 架构(也称为 Apollo Federation),每个组件服务称为一个 subgraph。一个 router 作为您 subgraphs 的入口点,并为客户端提供一个统一的交互接口。客户端将 operations 发送到您 router 的公共端点,而不是直接发送到您的 API。
路由器智能执行每个传入客户端 operation,并将适用的 subgraphs 组合。然后它将子图响应合并成一个对客户端的单个响应。您可以配置路由器错误处理、CORS 设置、其他安全功能等。您的配置选项取决于您的路由器类型。
路由器类型
GraphOS 配备了一个完全整合的路由器,称为 GraphOS Router。您可以选择让 Apollo 为您配置和管理一个云托管的 GraphOS Router:
或者您可以选择自托管您的 GraphOS Router:
Both cloud and self-hosted GraphOS 路由器 are based on the Apollo 路由核心——一个作为独立二进制文件打包的高性能路由运行时。
ⓘ 注意
Apollo 还提供了 @apollo/gateway
库,但我们推荐 GraphOS 路由器而不是 @apollo/gateway
因为它们提供了 显著的性能和安全改进。有关差异和迁移指南的更多信息,请参阅 迁移指南。
路由器比较
GraphOS 提供以下路由器选项,以下列出了按可配置性递增的选项:
路由器类型 | 描述 | 可配置性 | 计划可用性 |
---|---|---|---|
共享云路由器 | Apollo 在共享基础设施上提供和管理的路由器。 | 基本可配置性,包括 HTTP 头规则、CORS 设置和子图错误包含 | 无服务器 |
专用云路由器 | Apollo 在您控制和使用规模的基础设施上提供和管理的路由器。 | 高度可配置,包括共享云路由器的所有选项和附加配置 | 专用 |
自托管路由器 | 您在自己的基础设施上托管和管理路由器。 | 高度可配置和可定制,包括 Cloud 专用路由器的所有选项和附加自定义选项 自定义选项 | The Apollo Core Router is available as a free and source-available runtime. Connecting a self-hosted router to GraphOS requires an 企业 plan. |
GraphOS 路由器功能
尽管所有GraphOS 路由器(云端和自托管)都基于开源的 Apollo Router Core 二进制文件,但它们提供了扩展的功能集,这些功能在没有连接到 GraphOS 的情况下运行 Apollo Router Core 时不可用。
云端托管路由器自动可以访问 GraphOS 路由器功能,而自托管路由器必须通过 GraphOS 企业许可认证才能访问这些功能。请参阅定价页面以比较不同计划类型的 GraphOS 路由器功能。
设置和配置
有关设置和配置说明,请参阅相应的路由器文档: