持续可用与CAP理论 – 一个系统开发者的观点
这篇从金融数据库的视角出发,探讨了如何在实际工程中打破CAP理论的悲观论断,实现“持续可用”。作者首先明确了金融级数据库的两大支柱:强一致性(保证ACID)和高可用性(秒级故障恢复)。针对CAP理论中一致性与可用性的矛盾,文章指出CAP中的A(任何节点都须响应)与工程实践中的高可用(HA)存在差异——通过快速剔除故障节点、依赖多数派存活继续服务,系统仍能满足业务需求。 文章对比了两种实现路径:传统的共享存储方案虽成熟但成本高且无法跨机房;而基于Paxos的分布式方案则通过强同步与多数派选举,能在容忍单IDC故障的同时保持强一致与高性能。作者结合实践经验指出,若架构设计得当(如OceanBase的实现),强同步带来的额外延时可控制在同城0.5ms左右,吞吐量影响低于10%。 文章最终结论是:在同城环境下,采用Paxos协议的系统能够做到持续可用;而在异地场景,由于网络延迟,仍需根据业务需求在一致性与可用性之间做出权衡。