架构师训练营第十一周 - 总结
高可用系统的度量
复制代码
大多数网站而言,2 个 9 是基本可用,网站年度不可用时间小于 88 小时;3 个 9 是较高可用,网站年度不可用时间小于 9 小时;4 个 9 是具有自动恢复能力的高可用,网站年度不可用时间小于 53 分钟;5 个 9 是极高可用性,网站年度不可用时间小于 5 分钟。
可用性指标是网站架构设计的重要指标,对外是服务承诺,对内是考核指标。从管理层面,可用性指标是网站或者产品的整体考核指标,具体到每个工程师的考核,更多的是使用故障分。
故障分 = 故障时间(分钟)* 故障权重
导致系统不可用的原因
* 硬件故障
* 软件 bug
* 系统发布
* 并发压力
* 网络攻击
* 外部灾害
保障系统稳定高可用的方案
高可用系统的架构
* 对系统组件进行解耦与隔离
* 采用高内聚、低耦合的设计原则
* 子系统之间隔离
* 微服务、中台
* 生产者、消费者隔离
* 虚拟机、容器隔离
* 采用异步架构
* 备份
* 失效转移
* 事务补偿、回滚
* 重试,修复单次调用故障
* 幂等设计,支持服务重复调用
* 熔断
* 限流
* 降级
* 异地多活
高可用系统的运维
* 将发布看作是更“柔和”的系统宕机,分批发布,并可以在发布失败时回滚
* 自动化测试减少未发现的 bug 被发布
* 自动化部署减少人为失误
* 持续部署,将开发、集成、测试、发布的流程标准化
* 预发布验证
* 灰度发布
* 运行时的监控
* 性能数据采集
* 业务行为数据采集
* 数据异常识别
* 智能化监控
评论