系统可用性理解

简介: 开发一个软件系统,对其要求越来越高,如果你了解一些「架构设计」的要求,就知道一个好的软件架构应该遵循以下 3 个原则:1. 高性能2. 高可用3. 易扩展

现如今,我们开发一个软件系统,对其要求越来越高,如果你了解一些「架构设计」的要求,就知道一个好的软件架构应该遵循以下 3 个原则:

  1. 高性能
  2. 高可用
  3. 易扩展

其中,高性能意味着系统拥有更大流量的处理能力,更低的响应延迟。例如 1 秒可处理 10W 并发请求,接口响应时间 5 ms 等等。

易扩展表示系统在迭代新功能时,能以最小的代价去扩展,系统遇到流量压力时,可以在不改动代码的前提下,去扩容系统。

而「高可用」这个概念,看起来很抽象,怎么理解它呢?通常用 2 个指标来衡量:

  • 平均故障间隔 MTBF(Mean Time Between Failure):表示两次故障的间隔时间,也就是系统「正常运行」的平均时间,这个时间越长,说明系统稳定性越高
  • 故障恢复时间 MTTR(Mean Time To Repair):表示系统发生故障后「恢复的时间」,这个值越小,故障对用户的影响越小

可用性与这两者的关系:

可用性(Availability)= MTBF / (MTBF + MTTR) * 100%

这个公式得出的结果是一个「比例」,通常我们会用「N 个 9」来描述一个系统的可用性。

从这张图你可以看到,要想达到 4 个 9 以上的可用性,平均每天故障时间必须控制在 10 秒以内。

也就是说,只有故障的时间「越短」,整个系统的可用性才会越高,每提升 1 个 9,都会对系统提出更高的要求。

我们都知道,系统发生故障其实是不可避免的,尤其是规模越大的系统,发生问题的概率也越大。这些故障一般体现在 3 个方面:

  1. 硬件故障:CPU、内存、磁盘、网卡、交换机、路由器
  2. 软件问题:代码 Bug、版本迭代
  3. 不可抗力:地震、水灾、火灾、战争

这些风险随时都有可能发生。所以,在面对故障时,我们的系统能否以「最快」的速度恢复,就成为了可用性的关键。

目录
相关文章
|
数据中心 UED
服务降级:保障稳定性的关键一步
在数字时代,互联网服务已经成为我们日常生活的不可或缺的一部分。然而,即使是最稳定的系统也难以免受到各种问题的困扰,如服务器故障、流量激增或第三方依赖项故障。为了确保用户始终能够访问服务,保障其正常运行,服务降级成为了一项至关重要的策略。
|
负载均衡 关系型数据库 RDS
良好架构设计中的可靠性:高可用、容错、灾难恢复
良好架构设计支柱 云计算良好架构设计有五大支柱,分别是:安全性,可靠性,性能效率,成本优化和卓越操作。其中可靠性是指系统从基础设施或者服务故障当中实现恢复、以动态方式获取计算资源以满足需求,以及缓解配置错误或者暂时性网络问题等干扰因素的能力。
4667 0
|
1月前
|
监控 负载均衡 测试技术
减少单点故障风险
减少单点故障风险
|
3月前
|
运维 监控 负载均衡
什么是系统可用性?如何提升可用性?
本文探讨了系统可用性的概念、计算方法及其重要性。可用性指系统能在预定时间内正常运行的比例,计算公式为:(运行时间)/(运行时间+停机时间)。文章列举了不同级别的可用性对应的停机时间,并介绍了提升系统可用性的多种策略,包括冗余设计、故障检测与自动恢复、数据备份与恢复、负载均衡、容错设计、定期维护与更新及使用高可用性云服务和网络优化。这些措施有助于构建更加稳定可靠的系统。
376 0
|
存储 缓存 监控
思考:如何保证服务稳定性?
只有每个业务环节都稳如泰山,才可以保障整个稳定性。单服务的稳定可以从以下几个方面来进行:
|
缓存 运维 监控
稳定性与高可用保障的工作思路
稳定性与高可用保障的工作思路
140 0
|
存储 前端开发 Linux
ublk故障恢复方案设计
简介在ublk简介一文中我们介绍了Linux社区新提出的ublk:基于io_uring的全新高性能用户态块设备。ublk已经合入Linux 6.0主线,并且操作系统团队已经在ublk上开展了一系列实践,并在2022年中国LInux内核开发者大会上分享了阿里云在ublk上的实践。为了适配阿里云的分布式云存储产品,我们对ublk添加了NEED_GET_DATA特性和故障恢复特性。前者对数据拷贝进行优化
|
存储 Kubernetes Java
K8s集群稳定性提升手段
K8s集群稳定性提升手段
K8s集群稳定性提升手段
|
运维 数据库
管理系统中风险是系统可用性和可扩展性的关键(3)
管理系统中风险是系统可用性和可扩展性的关键(3)
167 0
管理系统中风险是系统可用性和可扩展性的关键(3)
|
数据库
管理系统中风险是系统可用性和可扩展性的关键(2)
管理系统中风险是系统可用性和可扩展性的关键(2)
230 0
管理系统中风险是系统可用性和可扩展性的关键(2)