跳到主要内容

流量路由

使用流量路由命令可以配置和查看云函数版本的流量分配,实现灰度发布和版本回滚。

配置版本流量​

使用 tcb fn config-route 命令配置函数版本的流量分配:

tcb fn config-route <functionName> <version1> <traffic1> [version2] [traffic2]

参数说明:

参数说明必填
functionName函数名称是
version1第一个版本号,可以是具体版本号或 $LATEST是
traffic1第一个版本的流量百分比,0-100 的整数是
version2第二个版本号否
traffic2第二个版本的流量百分比,0-100 的整数否

使用示例:

# 将 10% 的流量分配给版本 2,其余 90% 分配给 $LATEST
tcb fn config-route app 2 10

# 将 30% 的流量分配给版本 1,70% 分配给版本 2
tcb fn config-route app 1 30 2 70

# 将 100% 流量切到版本 3
tcb fn config-route app 3 100

参数校验:

  • traffic1 / traffic2 必须为 0-100 的整数
  • version2 与 traffic2 必须同时设置
  • version1 与 version2 不能为同一版本
  • 同时设置两个版本时,traffic1 与 traffic2 之和必须为 100
  • 未设置 version2 且 version1 为 $LATEST 时,traffic1 必须为 100

查看流量配置​

使用 tcb fn get-route 命令查看函数版本的流量配置:

tcb fn get-route <functionName>

命令按当前流量策略类型展示:

  • 按比例分流(FLOW):展示各版本的流量比例
  • 请求头匹配(HEADERS):展示各版本匹配的请求头(Key = Value)
  • 旧版兼容配置:提示暂不支持展示,可通过 --json 查看原始数据

使用示例:

# 查看 app 函数的流量配置
tcb fn get-route app

# 以 JSON 格式查看原始流量配置
tcb fn get-route app --json

注意事项​

  • 只指定一个版本时,剩余流量分配至 $LATEST 版本
  • 流量路由配置实时生效,调整后立即影响线上流量
  • 建议在业务低峰期进行流量调整操作