内容: 记录服务发布时的灰度发布环节

灰度发布概念:

灰度发布(又名金丝雀发布)是指在黑与白之间,能够平滑过渡的一种发布方式。
在其上可以进行A/B testing,即让一部分用户继续用产品特性A,一部分用户开始用产品特性B,
如果用户对B没有什么反对意见,那么逐步扩大范围,把所有用户都迁移到B上面来。灰度发布可以
保证整体系统的稳定,在初始灰度的时候就可以发现、调整问题,以保证其影响度。

灰度期:灰度发布开始到结束期间的这一段时间,称为灰度期。

灰度发布的类型:

灰度发布三大类型:

1、web页面灰度:按照ip或者用户id等信息作为划分维度

2、服务端灰度:新服务各个二级业务轮流发布

3、客户端灰度:主要是PC端(WIN,MAC,LINUX)、移动端(安卓,IOS)

灰度发布的目标选取条件:

1、按照网页访问时的用户信息来划分

2、按照终端类型:PC端(WIN,MAC,LINUX)、移动端(安卓,IOS)

3、按照区域划分:比如先选取偏远地区,人口密度不高的服务器集群先发布

4、其它(主要根据业务需求自定义)

灰度发布的过程:

1、线上正在运行服务A,新部署一个服务B

2、负载均衡器页面修改转发规则,新增转发规则将部分的流量分配给服务B,剩余流量给服务A

3、同时自己也需要进行各个终端的测试

4、查看反馈,如果没有问题,逐步提高服务B的流量权重

5、新服务稳定后,删除负载均衡器上的转发规则,所有流量指向服务B,删除服务A

灰度发布的优点:

1、提前获得目标用户的使用反馈;

2、根据反馈结果,做到查漏补缺后再发布更完善的新服务;

3、如果发现重大问题,可及时回滚“旧版本”;

4、快速验证产品的市场切入点是否合适

5、发现隐藏着的不兼容问题

6、缩小服务升级所影响的用户范围,降低升级风险。

7、让用户及早参与新产品测试,加强用户互动,增加用户对产品好感与新鲜感