[Java复习] 分布式事务 Part 1
1. CAP理论 C: Consistency 一致性 A: Availability 可用性 P: Partition tolerance 分区容错性 CAP定理:一个分布式系统不可能同时满足CAP三个要求,最多只能同时满足其中两项。 1.1. CA: 放弃分区容错性,所有数据放一个节点,退回单机模式。 1.2. CP: 放弃可用性,一旦网络故障,受影响服务需要等待恢复时间,系统处于不可用状态。 1.3. AP: 放弃一致性,这里指放弃强一致性,确保最终一致性。 大多数分布式系统的选择。 2. BASE理论 BASE: B ase A vailable(基本可用), S oft state(软状态), E ventually consistent(最终一致性)。 BASE是对CAP一致性和可用性权衡的结果。 1. 基本可用:指分布式系统出现不可预知故障时,允许损失部分可用性,响应时间合理延长,服务上适当降级。 2. 软状态: 允许分布式系统中的数据处于中间状态,允许各节点数据同步时存在延时。 3. 最终一致性:允许系统中所有数据副本,在经过一段时间同步后,最终能够达到一个一致的状态。不需要实时保证系统的数据一致性。 3. 两阶段提交 (2PC) 数据库支持2PC,又叫XA transactions。 MySQL从5.5版,Oracle从7版,SQL Server 2005开始支持