用迭代过程中会不断有新版本发布,在正式发布前,您可以使用灰度流量控制先进行小规模验证,然后再全量升级。流量控制包含 HTTP 和 HSF 两种方式,本文将分别介绍。

前提条件

在进行流量控制前,请确认已完成以下工作:
  • 创建分组
  • 如果您使用子账号进行灰度流量控制,还需要是使用主账号为该子账号添加所需权限。
    1. 登录 EDAS 控制台
    2. 在左侧导航栏选择系统管理 > 角色
    3. 角色页面对应的子账号右侧单击管理权限
    4. 管理权限页面添加以下权限。
      • 只读权限:查看集群查看 app 信息查看服务列表查看流量管理规则
      • 写权限:设置流量管理规则

基于 HTTP 进行流量控制

支持指定 URL 访问路径,并用 Cookie 值、Header 值或者 URL 参数,根据按 100 取模后余数的范围或白名单作为条件判定流量。

注意 一个应用如果有多个分组都设置了 HTTP 流控,只有最后设置的生效。
  1. 进入应用详情页,在基本信息页面应用设置区域的流量管理右侧单击开启
    如果未开启流量管理,则无法设置 HTTP 流控规则。
  2. 实例部署信息页面灰度实例分组右侧单击流量控制,在弹出的下拉菜单中选择 HTTP 流控
  3. 流量控制页面勾选启用下面的配置来控制进入当前应用分组的 HTTP 请求流量
  4. 流量控制页面设置流控规则,然后单击保存

    目前支持按内容灰度按比例灰度两种方式设置入口流量灰度规则。

    • 按内容灰度:将符合设置的灰度规则的流量分发到灰度实例上。
    • 按比例灰度:将流量按比例随机分发到灰度实例上。
    两种方式各自的设置步骤如下:
    • 按内容设置入口流量灰度规则
      1. 流量控制对话框单击按内容灰度
      2. 在规则区域设置参数。流量控制
      参数 说明
      选择 path 输入访问资源的路径。
      场景规则 如果配置了多条规则,则要设置这些规则生效的条件。包括满足所有条件或满足条件之一。
      规则列表 参数类型 包括 Cookie、Header 和 Parameter。
      参数 输入参数,不能超给过 64 个字符。书写规范和样例请参考流控规则参数说明。
      条件 选择条件,包括 =、!=、>、<、>=、<=、白名单或按 100 取模。
      输入参数取模或列表的值。
    • 按比例设置入口流量灰度规则
      1. 流量控制对话框单击按比例灰度
      2. 在规则区域输入流量比例。格式为 1~100 的正整数,如 40。

基于 HSF 进行流量控制

支持指定服务和方法,并用方法的参数值,按取模(mod 100)后余数的范围或列表(list)作为条件判定流量。

  1. 实例部署信息页面灰度实例分组右侧单击流量控制,在弹出的下拉菜单中选择 HSF 流控
  2. 流量控制页面勾选启用下面的配置来控制进入当前应用分组的 HSF 请求流量
  3. 流量控制页面设置流控规则,然后单击保存
    目前支持按内容灰度按比例灰度两种方式设置入口流量灰度规则。
    • 按内容灰度:将符合设置的灰度规则的流量分发到灰度实例上。
      1. 流量控制对话框单击按内容灰度
      2. 在规则区域设置参数。流量控制-按内容灰度
        参数 说明
        选择服务 在下拉列表中选择入口应用中的服务。
        选择方法 选择入口应用中选定服务中的方法。如果不选择,则表示访问该服务的所有请求都进行规则匹配。
        条件模式 如果配置了多条规则,则要设置这些规则生效的条件。包括满足所有条件或满足条件之一。
        条件列表 参数 自动列出该服务、方法下的参数,命名格式为参数 i。i 代表参数的序号,从 0 开始。
        参数值获取表达式 表达式有两个字段拼接而成,格式为 argsi.xxx。第一部分 argsi 由参数的选择决定。如果在参数选择了参数0,则 argsi 为 args0。第二部分 .xxx 为您根据您的需求自定义的字段。书写规范和样例请参见流控规则参数说明。
        条件 选择条件,包括 =、!=、>、<、>=、<=、白名单或按 100 取模。
        输入参数值。字符串要使用双引号(””),布尔值以 true/false 表示。
    • 按比例灰度:将流量按比例随机分发到灰度实例上。
      1. 流量控制对话框单击按比例灰度
      2. 在规则区域输入流量比例。格式为 1~100 的正整数,如 40。

结果验证

设置并启用流控规则后,您可以通过监控灰度流量来验证是否符合预期。详情请参见监控灰度流量