王小扬博客
Git
AI
产品
film
AI Code
Java
其他
计算机网络
DB
云原生
Node
Docker
操作系统
Elasticsearch
Apollo
Nestjs
Think
大前端
PHP
软件开发
设计
生活技巧
CI
缓存
高可用
深入不怎么宕机架构原理与实践
搭建不怎么不可用系统架构
设计技巧异地多活策略容错性腾讯云哔哩哔哩 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 | 远程多机房,异地多活 |
ㅤ | ㅤ | ㅤ | ㅤ | ㅤ |
实现方式

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