灰度发布

技术 · 2021-09-30

灰度发布的实现要满足以下两点:

  1. 流量配置(工作人员配置不同策略,配置放量)
  2. 用户标识(以用户为维度,多次请求都打到同一台服务器)

按照端划分,分为:web端、客户端、服务端

  1. web端
    前端资源分配版本号,根据策略放量到指定版本。把用户id和版本号的映射关系保存到cookie。
  2. 客户端
    一般根据以下几种策略:
    用户设备的系统和应用版本;
    渠道;
    设备ID和用户ID;
  3. 服务端
    分为兼容变更和不兼容变更。
    兼容变更:
    物理灰度:按机器维度划分,使用kong等网关
    逻辑灰度:使用代码控制,精确控制,但是侵入性较强
    不兼容变更:
    版本号:新老版本并存,前后端都需要改变,使用 /v1/api 和 /v2/api 区分

流量策略,一般有以下几种:

  1. 按流量百分比
    比如10%打到目标服务器,剩余打到默认服务器
  2. 按人群打标划分
    按用户id、ip、设备类型等
    按地域、性别、年龄等
  3. 按渠道
    比如用户的注册源
Theme Jasmine by Kent Liao