原文: https://zhuanlan.zhihu.com/p/112435790

灰度发布策略

灰度发布是发布整个过程中一个非常重要的环境。目前灰度发布策略有一下几种,根据不同的场景,选择使用:

1、蓝绿发布(Blue-Green Deployment)

image.png
通过部署两套环境来解决新老版本的发布问题。如果新版本(New Version)发生问题要进行回滚的时候,直接通过切流将流量全部切到老版本(Old Version)上。
优点:升级切换和回退比发布回滚迅速
缺点:成本较高,需要部署两套环境。如果新版本中基础服务出现问题,会瞬间影响全网用户;如果新版本有问题也会影响全网用户

2、金丝雀发布(Canary Release)

image.png
流量分流,白名单等形式
优点:灵活,策略自定义,可以按照流量或具体的内容进行灰度(比如不同账号,不同参数),出现问题不会影响全网用户
缺点:没有覆盖到所有的用户导致出现问题不好排查

3、滚动发布(Rolling Release)

image.png
金丝雀发布的一种变化。通过分批发布的方式进行多批发布(比如一共 9 个实例,分 3 批,每次 3 个实例发布),适合大规模应用发布
优点:出现问题不会影响全网用户,适合大规模应用发布
缺点:发布和回滚周期较长