【分布式事务系列】CAP定理

177 阅读2分钟

小知识,大挑战!本文正在参与“程序员必备小知识”创作活动。

CAP定理

CAP定理和BASE理论

两阶段提交和三阶段提交是XA协议解决分布式数据一致性问题的基本原理,但是这两种方法为了保证数据的强一致性,降低了可用性,其中涉及分布式事务的两个理论模型。

CAP定理

​ CAP定理,在分布式系统中不可能同时满足一致性(C:Consistency)、可用性(A:Availability)、分区容错性(P:Partition Tolerance)这三个基本要数,最多同时满足两个。

  • C:数据在多个副本中要保持强一致性,比如分布式数据一致性问题
  • A:系统对外提供的服务必须一直处于可用状态,在任何故障下,客户端都能在合理的时间内获取服务端的非错误响应。
  • P:在分布式系统中遇到任何网络分区故障,系统能保证对外提供服务。

不同节点分布在不同的子网络中时,在内部子网络正常情况下,由于某些原因导致这些子节点之间出现网络不通的情况,导致整个系统环境被切分成若干独立的区域,这就是网络分区。

CAP定理证明,在分布式系统中,要么满足CP,要么满足AP,不可能同时实现CAP或者CA,原因是网络通信不是可靠的,比如网络延时、网络异常等都会导致系统故障.而在分布式系统,出现网络故障也需要保证系统能够正常对外提供服务,所以在分布式系统中分区容错性必然存在的。