高可用
高可用系统架构设计
10 篇笔记
高可用架构设计
高可用架构的第一原则是识别并隔离故障域。故障域是可能发生故障的最小边界,包括硬件故障、网络分区、数据中心宕机等。通过将服务部署在不同故障域中,可以确保单一故障不会导致整个系统不可用。
双活与多活架构
同城双活是在同一城市部署两个数据中心,通过低延迟专线(通常 < 2ms)连接。两个数据中心同时对外提供服务,数据通过同步复制保持一致。
灾备架构设计
灾备设计的核心指标是 RPO(恢复点目标)和 RTO(恢复时间目标):
冗余设计
冗余设计的核心思想是消除单点故障(Single Point of Failure, SPOF)。任何可能成为系统瓶颈的组件都需要进行冗余部署。冗余不等于简单的数量增加,需要考虑故障检测、自动切换、数据一致性等问题。
故障转移设计
健康检查是故障转移的基础。系统需要定期检测各组件的健康状态,及时发现故障并触发转移。
数据复制架构
主从复制是最常见的数据复制模式。一个主节点处理写操作,多个从节点复制数据并处理读操作。
幂等设计
幂等性是指同一个操作执行一次和执行多次产生的效果相同。在分布式系统中,网络重试、消息重复投递等场景都需要幂等性保证。
优雅降级架构
功能降级是在系统压力过大时,关闭非核心功能,集中资源保障核心业务。
备份架构设计
不同的备份策略在恢复时间、存储成本和备份速度之间有权衡。
韧性模式
舱壁模式(Bulkhead)源自船舶设计,将系统划分为多个隔离区域,一个区域的故障不会影响其他区域。