●服务数量多,业务变动频繁,一周一发布;
●灰度发布能降低发布失败风险,减少影响范围;通过灰度发布,先让一部分用户体验新的服务,或者只让测试人员进行测试,等功能正常后再全部发布,这样能降低发布失败带来的影响范围;
●当发布出现故障时,可以快速回滚,不影响用户;灰度后如果发现这个节点有问题,那么只需回滚这个节点即可,当然不回滚也没关系,通过灰度策略隔离,也不会影响正常用户;
可以通过Ribbon的负载均衡策略进行灰度发布,可以使用更可靠的Discovery。
Discovery
基于Discovery 服务注册发现、Ribbon 负载均衡、Feign 和 RestTemplate 调用等组件的企业级微服务开源解决方案,包括灰度发布、灰度路由、服务隔离等功能。
1.首先将需要发布的服务从转发过程中移除,等流量剔除之后再发布。
2.部分机器中的版本进行升级,用户默认还是请求老的服务,通过版本来支持测试请求。
3.测试完成之后,让新的版本接收正常流量,然后部署下一个节点,以此类推。
![](/images/780-200-2.jpg)