← 中文资源

简体中文版本

冗余(Redundancy)

冗余通过复制组件或容量让系统承受故障,但只有在副本独立失效且故障转移确实有效时,冗余才真正提升可靠性。

阅读英文原文

冗余的形式

冗余可以复制运行实例、备用数据库、网络链路、供电线路甚至整个区域。主动-主动配置同时使用所有副本并分流,主动-被动配置保留待命副本准备接管。无状态服务容易复制;有状态系统需要复制,从而引入延迟、冲突处理和一致性权衡。

独立性是关键

只有当副本的失败不相关时,复制才提升可靠性。同一机架的两台服务器共享供电和网络;使用同一凭证的两个副本共享吊销事件;由同一条部署流水线供给的两个区域共享坏发布。冗余必须对照故障域评估:单个故障仍能拖垮什么?

成本与复杂度

每个副本都有成本,更多副本意味着更多协调。复制增加延迟和运维工作;主动-主动写入需要冲突解决或分区。与单实例相比,冗余提高可用性但降低清晰度:失败变成局部问题,调试跨越多个副本。设计应尽可能简单,只要满足可靠性目标即可。

冗余不是备份

副本防止组件故障,而不是防止删除、损坏或传播型勒索软件。备份保留历史并支持时间点恢复。被复制的数据库会忠实复制一条被删除的表。故障转移必须演练而不能假设。例如,团队可能运行三个副本,却没发现负载均衡仍把流量发给已死副本。移除副本、排空可用区,测量容量和延迟是否仍在目标内。冗余无法防止每个副本都存在的缺陷,也无法防止相关基础设施故障;超出可负担的最大故障域后,只能依赖优雅降级、快速恢复和显式风险接受。