服务可用性的思考

todo

[toc]

服务本身的可用性

服务多活

参考:http://blogxin.cn/2019/03/02/multi-datacenter/

服务发布方式

灰度发布

原理

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

通俗的讲: 为了保证服务升级过程的平滑过渡提高客户体验,会一部分用户 一部分用户递进更新,这样生产中会同时出现多个版本的客户端,为了保证多个版本客户端的可用需要对应的多个版本的服务端版本。灰度发布就是通过一定策略保证 多个版本客户端、服务端间能够正确对应。

链接:https://juejin.im/post/5d2445f0e51d4550723b147b

技术实现方式

蓝绿发布

滚动发布

依赖服务的可用性

mysql可用性

主从

服务多活

服务多活过程中的难点:服务级故障转移、流量管控、数据同步