写点什么

架构师训练营第十一周 - 总结

用户头像
Eric
关注
发布于: 2020 年 08 月 15 日
架构师训练营第十一周 - 总结

高可用系统的度量


网站不可用时间(故障时间)=故障修复时间点-故障发现(报告)时间点网站年度可用性指标 =(1-网站不可用时间/年度总时间)* 100%
复制代码


大多数网站而言,2 个 9 是基本可用,网站年度不可用时间小于 88 小时;3 个 9 是较高可用,网站年度不可用时间小于 9 小时;4 个 9 是具有自动恢复能力的高可用,网站年度不可用时间小于 53 分钟;5 个 9 是极高可用性,网站年度不可用时间小于 5 分钟。


可用性指标是网站架构设计的重要指标,对外是服务承诺,对内是考核指标。从管理层面,可用性指标是网站或者产品的整体考核指标,具体到每个工程师的考核,更多的是使用故障分。



故障分 = 故障时间(分钟)* 故障权重

导致系统不可用的原因

* 硬件故障

* 软件 bug

* 系统发布

* 并发压力

* 网络攻击

* 外部灾害


保障系统稳定高可用的方案

高可用系统的架构

* 对系统组件进行解耦与隔离

* 采用高内聚、低耦合的设计原则

* 子系统之间隔离

* 微服务、中台

* 生产者、消费者隔离

* 虚拟机、容器隔离

* 采用异步架构

* 备份

* 失效转移

* 事务补偿、回滚

* 重试,修复单次调用故障

* 幂等设计,支持服务重复调用

* 熔断

* 限流

* 降级

* 异地多活

高可用系统的运维

* 将发布看作是更“柔和”的系统宕机,分批发布,并可以在发布失败时回滚

* 自动化测试减少未发现的 bug 被发布

* 自动化部署减少人为失误

* 持续部署,将开发、集成、测试、发布的流程标准化

* 预发布验证

* 灰度发布

* 运行时的监控

* 性能数据采集

* 业务行为数据采集

* 数据异常识别

* 智能化监控


用户头像

Eric

关注

给写代码的人写代码 2017.10.17 加入

Clojure

评论

发布
暂无评论
架构师训练营第十一周 - 总结