流量分配

Cloud Functions (第 2 代) 支持每个函数的多个修订版本,使您能够在不同的修订版本之间拆分流量,或将函数回滚到先前的修订版本。

每次部署或重新部署函数时,系统都会自动创建底层 Cloud Run 服务的新修订版本。修订版本是不可变的,一经创建便无法修改。如需更改函数,您必须重新部署该函数。

默认情况下,流向函数的流量会路由到其最新修订版本。您可以设置自定义流量配置来更改此行为,如下一部分所示。

设置流量配置

您可以通过函数的底层 Cloud Run 服务来管理在函数修订版本之间路由流量的方式。

gcloud

如需使用 gcloud CLI 管理流量,请执行以下操作:

  1. 多次部署函数以创建多个修订版本。请务必使用 Cloud Functions(第 2 代)。

  2. 查找函数底层的 Cloud Run 服务的修订版本 ID:

    gcloud run revisions list --service YOUR_FUNCTION_NAME \
    --region YOUR_FUNCTION_REGION \
    --format 'value(REVISION)'
    

    输出应类似如下所示:

    YOUR_FUNCTION_NAME-00002-xyz
    YOUR_FUNCTION_NAME-00001-abc
    
  3. gcloud run services update-traffic 命令与修订版本 ID 结合使用来更改流量配置。例如,以下命令会在两个修订版本之间按 50/50 的比例拆分流量:

    gcloud run services update-traffic YOUR_FUNCTION_NAME \
    --region YOUR_FUNCTION_REGION \
    --to-revisions YOUR_FUNCTION_NAME-00001-abc=50,YOUR_FUNCTION_NAME-00002-xyz=50
    

控制台

如需使用 Google Cloud 控制台管理流量,请执行以下操作:

  1. 多次部署函数以创建多个修订版本。请务必使用 Cloud Functions(第 2 代)。
  2. 转到 Google Cloud 控制台中的 Cloud Functions 概览页面
  3. 点击函数的名称以进入其函数详情页面。
  4. 在标有由 Cloud Run 提供支持的窗格中,点击函数的名称以进入底层 Cloud Run 服务的服务详情页面。
  5. 点击修订版本标签页以查看修订版本列表。
  6. 修订版本标签页中,点击管理流量
  7. 输入所需的流量配置,然后点击保存

如需详细了解如何管理 Cloud Run 修订版本之间的流量,请参阅 Cloud Run 文档中的回滚、逐步发布和流量迁移