全部产品
云市场

流量控制(单应用)

更新时间:2019-09-12 09:33:27

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

前提条件

在进行流量控制前,请确认已完成以下工作:

  • 创建灰度实例分组

  • 如果您使用子账号进行灰度流量控制,还需要是使用主账号为该子账号添加所需权限。

    1. 登录 EDAS 控制台。

    2. 在左侧导航栏选择系统管理 > 角色

    3. 角色页面对应的子账号右侧单击管理权限

    4. 管理权限页面添加以下权限。

      • 只读权限:查看集群查看 app 信息查看服务列表查看流量管理规则

      • 写权限:设置流量管理规则

基于 HTTP 进行流量控制

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

注意:一个应用如果有多个分组都设置了 HTTP 流控,只有最后设置的生效。

  1. 进入应用详情页,在基本信息页面应用设置区域的流量管理右侧单击开启

    如果未开启流量管理,则无法设置 HTTP 流控规则。

  2. 实例部署信息页面灰度实例分组右侧单击流量控制,在弹出的下拉菜单中选择 HTTP 流控

  3. 流量控制页面勾选启用下面的配置来控制进入当前应用分组的 HTTP 请求流量

  4. 流量控制页面设置流控规则,然后单击保存

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

    • 按内容灰度:将符合设置的灰度规则的流量分发到灰度实例上。
    • 按比例灰度:将流量按比例随机分发到灰度实例上。

    两种方式各自的设置步骤如下:

    • 按内容设置入口流量灰度规则

      1. 流量控制对话框单击按内容灰度

      2. 在规则区域设置参数。

        入口流量规则-HTTP

        流量控制参数说明:

        参数说明
        选择 path输入访问资源的路径。
        场景规则如果配置了多条规则,则要设置这些规则生效的条件。包括满足所有条件或满足条件之一。
        规则列表参数类型包括 CookieHeaderParameter
        参数输入参数,不能超给过 64 个字符。书写规范和样例请参考流控规则参数说明
        条件选择条件,包括 =!=><>=<=白名单按 100 取模
        输入参数取模或列表的值。
    • 按比例设置入口流量灰度规则

      1. 流量控制对话框单击按比例灰度

      2. 在规则区域输入流量比例。格式为 1~100 的正整数,如 40

基于 HSF 进行流量控制

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

  1. 实例部署信息页面灰度实例分组右侧单击流量控制,在弹出的下拉菜单中选择 HSF 流控

  2. 流量控制页面勾选启用下面的配置来控制进入当前应用分组的 HSF 请求流量

  3. 流量控制页面设置流控规则,然后单击保存

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

    • 按内容灰度:将符合设置的灰度规则的流量分发到灰度实例上。
    • 按比例灰度:将流量按比例随机分发到灰度实例上。

    两种方式各自的设置步骤如下:

    • 按内容设置入口流量灰度规则

      1. 流量控制对话框单击按内容灰度

      2. 在规则区域设置参数。

        HSF 流控规则设置页面

        流控规则参数说明:

        参数说明
        选择服务在下拉列表中选择入口应用中的服务。
        选择方法选择入口应用中选定服务中的方法。如果不选择,则表示访问该服务的所有请求都进行规则匹配。
        条件模式如果配置了多条规则,则要设置这些规则生效的条件。包括满足所有条件或满足条件之一。
        条件列表参数自动列出该服务、方法下的参数,命名格式为参数 i。i 代表参数的序号,从 0 开始。
        参数值获取表达式表达式有两个字段拼接而成,格式为 argsi.xxx
        • 第一部分 argsi 由参数的选择决定。如果在参数选择了参数0,则 argsiargs0
        • 第二部分 .xxx 为您根据您的需求自定义的字段。书写规范和样例请参见流控规则参数说明
        条件选择条件,包括 =!=><>=<=白名单按 100 取模
        输入参数值。字符串要使用双引号(””),布尔值以 true/false 表示。
    • 按比例设置入口流量灰度规则

      1. 流量控制对话框单击按比例灰度

      2. 在规则区域输入流量比例。格式为 1~100 的正整数,如 40

结果验证

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