可用性度量指标
年度可用性 = 可用时间/年度时间*100%
-
2个9:基本可用,不可用时间小于88小时
-
3个9:较高可用,不可用时间小于9小时
-
4个9:具有自动恢复能力的高可用,不可用时间小于53分钟
-
5个9:极高可用,不可用时间小于5分钟
服务类别
-
接口层
通过端口监听或者HTTP检测,HA proxy/Nginx等负载均衡组件检测接口层服务的健康状态,一旦发现检测异常,则把相应的服务从负载均衡的路由中屏蔽
-
服务层
系统内的服务调用,通用应用级别的服务发现和负载均衡组件来实现服务之间的调用,例如consul。
通过服务检测组件,一旦发现某个服务不健康,则从列表中剔除
-
数据层
通过数据层的复制功能,把数据写入多个服务器,当某数据服务宕机 ,则把数据访问切换到备份数据的服务器上
服务层高可用实现
故障发现
指标监控
-
进程CPU
-
进程内存
-
进程磁盘IO
-
进程健康状态指标
-
服务间调用时延
-
服务调用数据层时延
-
服务内的RPC调用时延
故障处理
-
隔离
-
横向扩展
-
负载均衡
-
熔断
-
限流
-
重试
-
超时设置
-
异步调用
-
降级
-
幂等
数据层高可用
数据一致性级别
-
数据强一致
各个副本的数据在物理存储中总是一致的
-
数据用户一致
各个副本数据可能是不一致的,但当用户访问时,通过纠错和校验机制,可以确定一个一致和正确的数据返回给用户
-
数据最终一致
系统经过一段时间,数据会达成最终一致
Mysql数据库高可用
冗余
MGR方案
-
防止脑裂
-
可飘逸资源
通过引入router,可以实现当master结点失效,把原来的客户端连接转到新的master上
流量控制
- 通过对业务进行IP隔离,API隔离,用户隔离,进行细粒度的限流熔断措施
Redis高可用
-
sentinel
-
redis cluster
MQ高可用
- 主从镜像模式
发布
-
自动化测试
-
压力测试
-
灰度发布
-
回滚机制
ref
https://blog.csdn.net/w2064004678/article/details/84747863 https://www.jianshu.com/p/c8a28bd954b0 https://www.sohu.com/a/135752858_639793 https://cloud.tencent.com/developer/article/1360529 https://zhuanlan.zhihu.com/p/354588457 https://zhuanlan.zhihu.com/p/88398621 https://zhuanlan.zhihu.com/p/91488488 https://www.cnblogs.com/linjiqin/p/9678022.html
网友评论