《架构世界》2020微服务刊:微服务分布式事务实战
上QQ阅读APP看书,第一时间看更新

一、灰度发布介绍

灰度发布是指在应用的新、旧版本间平滑过渡的一种发布方式。在应用发布与产品迭代中,通常会采用灰度发布来控制上线风险。在发布前先进行小规模的生产环境验证,让新版本的应用实例来承接、处理限定规模或范围的业务流量。通过收集使用体验的数据,对应用新版本的功能、性能、稳定性等指标进行评判,进而决定扩大新版本部署范围直至全量升级或回滚至老版本。

灰度发布时,主要涉及设置流控规则和部署新版本这两个动作,这2个动作没有一定的先后次序。可以:

1.部署新版本 -> 设置流控规则:可能的问题是在灰度规则设置生效前,进入新版本应用实例的流量可能不是灰度的。

2.设置流控规则 -> 部署新版本:可能的问题是新版本未部署前,灰度流量会降级路由到非灰度环境,在第一批新版本实例在发布后,有受到全部灰度流量冲击的风险。