编辑导语:灰度,就是存在于黑与白之间的一个平滑过渡的区域。对于互联网产品来说,上线和未上线就是黑与白之分,而实现未上线功能平稳过渡的一种方式就叫做灰度发布。不少大厂在产品上线前都会进行灰度测试,本文作者为大家总结了大厂常用的几种灰度发布方案。

什么是灰度发布?百度百科的解释是这样的:
灰度发布是指在黑与白之间,能够平滑过渡的一种发布方式。
AB test就是一种灰度发布方式,让一部分用户继续用A,一部分用户开始用B,如果用户对B没有什么反对意见,那么逐步扩大范围,把所有用户都迁移到B上面来。灰度发布可以保证整体系统的稳定,在初始灰度的时候就可以发现、调整问题,以保证其影响度。
从上述可以看出,灰度发布的作用有以下几点:
- 降低发布带来的影响,虽然功能都在测试环境测过,但毕竟没有发布到生产环境,如果先让少部分用户先使用新版本,提前发现bug,或者性能问题,提前做好修复,就可以降低新版本带来的影响;
- 通过对新老版本的对比,观察新版本带来的效果。
结合工作中使用到的灰度发布实践和对其他大厂的灰度发布调研,总结了以下灰度发布方案。
一、灰度发布的划分
灰度发布如果按照端来分的话,可以分为web前端、客户端、服务端灰度。
无论是哪种灰度,一般需要满足以下2点要求:
- 需要一个放量配置,给产品/运营等工作人员配置放量策略;
- 需要做到同一个用户始终访问的是同一个版本的代码,如果同个用户上个请求访问的是A版本,下个请求访问的是B版本,就可能会出问题。
闽ICP备13000641号-4