CAP 定理。坏的、更坏的和丑陋的

主要观点:CAP 定理过于简单且被广泛误解,对描述系统用途不大,应摒弃对其的提及。2000 年 Eric Brewer 提出 CAP 猜想,2002 年 Seth Gilbert 和 Nancy Lynch 发表其定理形式证明。CAP 猜想和定理对一致性、可用性和分区容忍性的定义不同且不可比,“Pick 2 out of 3”的解读存在问题,Gilbert 和 Lynch 的定理证明在特定系统模型下一致性、可用性和分区容忍性不可同时实现,但该证明存在不必要的限制。CAP 定理常被误解,在永久分区情况下弱一致性也不可实现,在非永久分区且满足一定条件下强一致性和弱一致性可实现。CAP 定理对分布式系统社区有正负两方面影响,应摒弃用其作为定论,可采用不变性汇合框架来思考一致性和可用性的权衡。
关键信息

  • 2000 年 Eric Brewer 提出 CAP 猜想,2002 年 Seth Gilbert 和 Nancy Lynch 证明。
  • CAP 猜想和定理对一致性等定义不同且不可比。
  • “Pick 2 out of 3”解读的问题及 CAP 对系统的分类。
  • Gilbert 和 Lynch 定理证明的过程及限制。
  • CAP 定理常被误解及在不同分区情况下的一致性实现情况。
  • CAP 定理的正负影响及替代框架。
    重要细节
  • Eric Brewer 在 Principles of Distributed Computing 会议提出 CAP 猜想,未提供正式证明。
  • Seth Gilbert 和 Nancy Lynch 在特定系统模型下证明 CAP 定理。
  • 证明中通过假设存在满足条件的算法,推出矛盾来证明不可同时实现。
  • Gilbert 和 Lynch 定义中要求任何非故障节点都能生成有效响应。
  • Martin Kleppmann 和 Pat Helland 对 CAP 定理的相关批判和观点。
阅读 19
0 条评论