作者:中国移动云能力中心 —— 胡建华
概要:高可用设计师应用软件架构设计的最基本要求,无论一个产品处于初创阶段还是快速增长期,作为一款商业软件面向用户提供服务,那么可用性的设计是必须予以考虑的。
一、基本概念
可用性:Availability,系统可以被使用的时间的描述,即uptime,计算方式:
A = uptime/(uptime + downtime),其中uptime和downtime分别为可用/不可用时间。
我们经常形容的“几个九”,最多情况下指的就是系统可用性,当然可用性越高越好,同时越高的可用性就代表着越多的资源投入,需要根据实际业务发展的阶段进行权衡,不同级别的可用性通常采取的技术手段可参见下表:
| 可用性等级 |
可用性数值 |
年最大停机时间 |
常用的技术手段 |
| 基本可用 |
99% |
88 h |
负载均衡 |
| 较高可用 |
99.9% |
8.8 h |
+自动化部署 |
| 高级可用 |

高可用性是软件架构设计的基础,本文探讨了可用性的基本概念,影响因素,并着重讨论了容错设计(如负载均衡、服务降级、重试机制、隔离设计)和限流设计(固定窗口、漏桶、令牌桶算法及常见限流方案)。这些策略在应对系统故障和流量高峰时,能确保系统稳定性和整体业务的连续性。
最低0.47元/天 解锁文章
1210

被折叠的 条评论
为什么被折叠?



