加入我们,于10月8日至10日在纽约市,了解关于 GraphQL 联邦和 API 平台工程的最最新技巧、趋势和新闻。加入我们,参加2024年纽约市的 GraphQL Summit
文档
免费开始

设置托管联邦

将您的 supergraph 连接到 Apollo GraphOS


本文描述了如何将您的连接到Apollo GraphOS以启用功能。

注意

像所有变更一样,您应该首先在生产环境之外,例如预演环境中,设置托管联邦。为了支持这一点,您可以在中创建您的 supergraph 的多个变体。每个变体代表相同图的不同环境的独立版本。

1. 开始使用

首先,完成以下教程中的设置 Apollo 工具步骤此教程,包括:

  • 创建 Apollo 账户
  • 在 Studio 中创建
  • 安装并认证

2. 发布所有子图模式

在 supergraph 架构中,您的每个子图都使用 Rover CLI 将其模式发布到:

rover subgraph publish
rover subgraph publish
rover subgraph publish
Router
Products subgraph
Reviews subgraph
Inventory subgraph
GraphOS
Schema Registry

对您的每个子图执行以下操作:

  1. 获得以下值,这些值对于rover subgraph publish命令是必需的:

    • 在整个图内部唯一标识子图的名字(例如,products)。
    • 您的将以URL的形式与subgraph< span >(例如,http://products-graphql.svc.cluster.local:4001/
  2. 运行rover subgraph publish命令,并使用以下方式之一提供您的subgraph< span >的模式:

    # Provide a local .graphql file path
    rover subgraph publish my-graph@my-variant --name products --routing-url http://products-graphql.svc.cluster.local:4001/ --schema ./schema.graphql
    # Provide an introspection result via stdin
    rover subgraph introspect https://127.0.0.1:4000 | rover subgraph publish my-graph@my-variant --name products --routing-url http://products-graphql.svc.cluster.local:4001/ --schema -

subgraph 架构时,模式注册库试图将它们的最新版本组合成一个单独的。每次成功时,您的受管理router可以从GraphOS中获取最新的supergraph 架构。

您也可以使用rover supergraph fetch命令手动获取最新的supergraph架构,或从GraphOS Studio的架构 > SDL选项卡中获取。

3. 修改路由器启动命令

如果您已经设置了Apollo Federation但没有将路由器连接到GraphOS,您可能已在的启动命令中传递了--supergraph(或-s)选项

./router --config ./router.yaml --supergraph ./your-local-supergraph.graphql

在以下情况下,--supergraph选项适用:路由器不通过轮询Apollo Uplink来检索超级图模式。这包括:

  • 启用不同部署环境引用单个图变体,例如,用于蓝绿部署:使用包含平台API的工作流程来合成和检索每个环境的超级图模式。这使得每个环境的路由器都能使用该环境的超级图模式,然后单个图变体可以捕获和分析任何环境中部署时的操作和流量。

  • 非管理型联邦:Rover CLI合成超级图模式和通过--supergraph选项将模式文件的路径传递给路由器。

对于其他从Apollo Uplink检索超级图模式的路由器,移除--supergraph选项(但如果存在则保留--config):

./router --config ./router.yaml

由GraphOS管理的联盟,组合是在子图模式发布时进行的,路由器定期从Apollo Uplink轮询更新后的超图模式。这使得您可以不重启路由器即可添加、删除和修改您的子图。

4. 将您的路由器连接到GraphOS

和您的子图一样,您的路由器使用一个来识别自己给GraphOS。

在获得您的图API密钥后,请在路由器环境中设置以下环境变量:

  • APOLLO_KEY(设置为您图API密钥
  • APOLLO_GRAPH_REF
    • 告诉路由器使用哪个图的哪个变体(例如,docs-example-graph@production)。您可以在GraphOS Studio的它的README页面的顶部找到您变体的图引用

5. 部署修改过的路由器

现在,您可以部署修改过的路由器,该路由器可在启动时从GraphOS获取其超图模式或指定特定环境中部署的超图模式。然后,它可以开始在您的子图上执行操作。

上一节
概览
下一页
上行链路
评分文章评分在GitHub上编辑编辑论坛Discord

©2024Apollo Graph Inc.,商号Apollo GraphQL。

隐私政策

公司