高可用

深入不怎么宕机架构原理与实践 搭建不怎么不可用系统架构
设计技巧
异地多活
策略
容错性
腾讯云
哔哩哔哩 DCDN POP 多活
 

SLA定义

级别
可用性级别
通俗说法
年度停机时间
配套措施
基本可用性
99%
2 个 9
3d-15h-39m-29s
服务在一个数据中心里有冗余,简单基础的自动化运维
高可用性
99.9%
3 个 9
8h-45m-56s
大量的自动化故障工具,以及各种控制调度系统等基础设施要做好
具有故障自动恢复
99.99%
4 个 9
52m-35s
本地多机房(像 AWS 一样每个地方都有三个可用区)
极高可用性
99.999%
5 个 9
5m-15s
远程多机房,异地多活

实现方式

notion image
notion image
每个公司对不可用时长的标准似乎不同,像我们搞sass的,标准是某个功能达到一定量的租户反馈有问题,则可算进SLA的不可用时长内。说句大实话,随着服务的增多(目前已经有上千个微服务了),几十个产品,业务的增多,人员的变动,人员能力的参差不齐,线上事故肯定还是会有的,但是我们有完善的复盘机制,也有奖罚机制,每次出问题QA都要拉人复盘,给出各种后续措施,还要全公司通报,因此管理层对服务的稳定性是十分看重,我们目前的目标也是3个9,其实只要有一个组拖后腿,这个目标就很难达成。我们目前用的很多东西都是阿里云的,没有自己搞机房,所以运维基本也都是靠阿里云的工程师来协助处理。2、其他高可用方案:多环境验证(开发、测试、予发布、生产),灰度环境验证(G0、G1、G2),代码灰度上线(根据租户力度),配置项或者数据库的执行需要管理层审核,测试来执行,服务支持跨云部署(阿里云、华为云),南北流量分发,开发流程规范,代码CR,发布回滚机制,数据库监控告警,网关流量告警,服务自动扩容,业务error日志监控告警,数据库按服务拆库隔离,按租户分库,SQL慢日志监控等等。
实可用性这个东西就是出去吹牛逼的时候就会拼命吹,但是私底下自己搞的时候就知道,三个九都难,有任何一个环节掉链子就直接寄了。
Loading...
目录
文章列表
王小扬博客
产品
Think
Git
软件开发
计算机网络
CI
DB
设计
缓存
Docker
Node
操作系统
Java
大前端
Nestjs
其他
PHP