CAP 理论
CAP理论是分布式系统理论中的一个重要概念,它阐述了在分布式计算环境中,一致性(Consistency)、可用性(Availability)和分区容错性(Partition Tolerance)三者之间的权衡关系。
- C(Consistency)是一致性,指的是多个节点上的数据副本必须保持一致,即系统的状态在任何时刻都是一致的
CAP 的核心理论思想就是说,一个分布式系统最多只能同时满足上述三种特性中的两个,无法同时满足所有的三个特性
但不管如何权衡,我们都无法彻底放弃一致性,如果真的放弃一致性,那么就说明这个系统的数据根本不可信,数据也就没有意义
所以退而求其次,互联网绝大多数场景,会选择最终一致性,只要这个最终时间是在用户可接受的范围即可
BASE 理论
-
基本可用(Basically Available),指分布式系统在出现不可预知 故障的时候,允许损失部分可用性
-
软状态(Soft state),指允许系统中的数据存在中间状态,并认为该中间状态的存在不会影响系统的整体可用性
-
最终一致性(Eventually consistent),强调是所有的数据更新操作,在经过一段时间同步后,最终都能够达到一个一致的状态,而不需要实时保证系统数据的强一致性
BASE 理论是对CAP理论的延伸,核心思想就是即使无法做到强一致性,但应用可以采用适合的方式达到最终一致性
BASE 理论面向的是大型高可用可扩展的分布式系统,和传统的数据库事务ACID 特性是相反的
刚性事务满足 ACID 理论,柔性事务满足 BASE 理论,追求基本可以、最终一致