小麦带你学服务治理一

简介: 跟着小麦不迷路

# 高可用设计


**什么是高可用?**


在定义什么是高可用,可以先定义下什么是不可用,一个网站的内容最终呈现在用户面前需要经过若干个环节,而其中只要任何一个环节出现了故障,都可能导致网站页面不可访问,这个也就是网站不可用的情况。


参考维基百科,看看维基怎么定义高可用:`系统无中断地执行其功能的能力,代表系统的可用性程度,是进行系统设计时的准则之一`。


这个难点或是重点在于“无中断”,要做到 7 x 24 小时无中断无异常的服务提供。




**为什么需要高可用?**


一套对外提供服务的系统是需要硬件,软件相结合,但是我们的软件会有bug,硬件会慢慢老化,网络总是不稳定,软件会越来越复杂和庞大,除了硬件软件在本质上无法做到“无中断”,外部环境也可能导致服务的中断,例如断电,地震,火灾,光纤被挖掘机挖断,这些影响的程度可能更大。




**高可用的评价纬度**


在业界有一套比较出名的评定网站可用性的指标,常用N个9来量化可用性,可以直接映射到网站正常运行时间的百分比上


| 描述                     | N个9 | 可用性级别 | 年度停机时间 |

| ------------------------ | ---- | ---------- | ------------ |

| 基本可用                 | 2个9 | 99%        | 87.6小时     |

| 较高可用                 | 3个9 | 99%        | 8.8小时      |

| 具备故障自动恢复能力可用 | 4个9 | 99.99%     | 53分钟       |

| 极高可用                 | 5个9 | 99.999%    | 5分钟        |


一般互联网公司也是按照这个指标去界定可用性,不过在执行的过程中也碰到了一些问题,例如,有一些服务的升级或数据迁移明明可以在深夜停机或停服务进行,然而考虑到以后的报告要显示出我们的系统达到了多少个9的高可用,而放弃停服务这种简单的解决方案,例如停机2个小时,就永远也达不到4个9。然而在一些高并发的场合,例如在秒杀或拼团,虽然服务停止了几分钟,但是这个对整个公司业务的影响可能是非常重大的,分分钟丢失的订单可能是一个庞大的数量。所以N个9来量化可用性其实也得考虑业务的情况。

相关文章
|
SQL 缓存 监控
|
监控 BI 微服务
|
缓存 运维 监控
|
域名解析 运维 自然语言处理
|
存储 移动开发 运维
|
负载均衡 算法 应用服务中间件
|
存储 安全 中间件
|
缓存 搜索推荐 前端开发
小麦带你学服务治理六
跟着麦弟,吃香喝辣
|
消息中间件 NoSQL 关系型数据库