容器轻应用平台

  • 容器轻应用平台 > 使用指南 > 升级和回滚应用 >流量分配

    流量分配

    最近更新时间: 2022-11-14 11:32:32

    如果您的应用有多个应用实例且需要升级,那么您可以通过 流量分配 的方式来升级应用实例,满足云应用快速迭代和功能验证的需求。

    本文介绍流量分配的背景信息、场景示例和操作步骤。

    背景信息

    • 滚动更新发布策略:通过对不同的应用版本部署实例进行滚动更新,来完成新版本的升级,为了保证应用稳定性,建议您先对新应用版本部署实例后,并完成功能验证测试,再将老版本的实例升级到新版本。
    • 流量分配发布策略:借助流量分配可以实现流量切分,快速实现 A/B 测试等高级功能,完成新版本的小规模验证。

    流量分配原理

    • 系统按照用户设置的多组流量分配规则,由上而下开始匹配,首先匹配成功的,分发路由会被使用。

    • 任一流量分配规则匹配成功后,流量按照设置权重切分,切分之后的流量按照系统负载均衡算法分配至下辖所有实例。

    • 某些条件下,如配置不当,会发生所有流量规则均匹配失败的情况。此时,系统回退到默认状态(default),流量按照系统负载均衡算法分配至所有部署的所有实例。

    img

    场景示例

    场景一

    假设您有一个老版本 v1,现在上线了新版本 v2。

    • 您希望 v1 仍承接大部分流量,v2 承接少量流量。如下图,您可以不设置匹配规则,但给应用的所有部署均设置好分发权重,以实现流量切分。

    • 设置完成后,版本 v1 对应部署下所有实例可以获得 90% 流量,版本 v1 对应部署下所有实例可以获得 10% 流量。

      img

    场景二

    假设您有一个老版本 v1,现在上线了新版本 v2。

    • 如果进来的流量属于特定的用户,流量按对应路由分发到新版本 v2 对应部署下的所有实例;

    • 反之,流量分发到旧版本 v1 对应部署下的所有实例。

      配置如下图所示的流量控制规则:

    img

    场景三

    可以通过 URL Path 规则,给予新上线 API 少量流量,配置如下图:

    img

    操作步骤

    1. 登录 容器轻应用平台

    2. 在左侧导航栏单击应用,在顶部菜单栏选择 部署管理,并切换 区域

    3. 单击 流量控制 按钮,弹出流量控制侧边栏,鼠标移至流量分配,开启 流量分配

    4. 设置相关参数,支持设置多组流量分配规则,按照添加顺序优先进行流量分配,该规则对仅该区域下所有实例生效。

      1)匹配规则,可以实现更复杂的白名单。

      • 默认关闭,点击开启,设置以下参数:img

        参数 说明
        匹配规则 有三种匹配规则:
        Headers:对应 HTTP headers,字段名称对应请求 HTTP header name,值对应需要匹配的 HTTP header value。
        URL Query:一般为 URL 中的查询参数,如 qiniu.com/v1/users?name=qbox&city=sh 对应 URL Query 为 name 和 city。
        URL Path:一般为 URL 中域名后的路径,如 qiniu.com/v1/users 对应 URL Path 为 /v1/users
        匹配方式 有三种匹配方式:
        1) 相等匹配
        2) 前缀匹配
        3) 正则匹配
        字段名称 自定义字段名称
        输入值

        注意

        一个匹配规则下,多条匹配关系之间是「且」的关系。

      2)分发路由

      • 下拉选择 部署ID,分配流量权重值。

      img

      • 所有部署ID的权重值,相加必须等于100%。

        说明

        • 流量分配创建之后,分配了流量权重的部署ID不能进行删除。
        • 如果您确认要删除某部署ID,需要先删除当前部署ID的流量权重分配,才可以在部署列表中进行删除。
    5. 点击 确定,流量分配规则生效。

    流量分配失效

    流量分配创建之后,分配了流量权重的部署ID如果实例缩为0,则当前流量分配规则会失效,需要先删除当前部署ID的流量权重分配,才可以重新生效。

    img

    以上内容是否对您有帮助?
  • Qvm free helper
    Close