灰度发布优点

  1. 提前收集用户意见,完善产品功能
  2. 控制未知异常影响最小范围

前端灰度发布的要素

1. 放量规则

  1. 按照用户某些特征进行放量: 年龄、国家、城市、注册id等等
  2. 常用的放量规则:用户注册有一个自增的序列号,当灰度放量的时候可以根据这个序列号座位灰度特征

2. 资源新旧版本

  1. 明确给用户展示不同版本的页面,可以是前端静态版本号形式

灰度实现的原理

  1. 用户访问网站
  2. 判断是否为灰度用户(有一定规则)
  3. 命中用户就展示新版本, 未命中就展示老版本

灰度发布的几种形式

前端灰度发布

  1. ssr服务端渲染
    1. 用户访问网站
    2. ssr服务获取用户特征
    3. 灰度规则服务返回灰度名单
    4. ssr服务返回前端展示
  2. 前后端半分离,入口页面托管在服务端(nodejs、php)
  3. 前后端分离
    1. 前端代码写2套内容,在页面渲染之前发起异步获取灰度规则
    2. 通过修改nginx配置来灰度
      1. 2套代码,分别部署
      2. 通过nginx加权轮询来控制百分比灰度
    3. nginx+lua脚本+灰度规则

后端灰度发布

  1. 类似前端ssr服务端渲染



文章来源于