一.什么是分布式事务:如果一个事务调用了不同服务器上的操作,那么它就成为了一个分布式事务。
二.分布式理论
CAP定理:一致性(Consistency) : 客户端知道一系列的操作都会同时发生(生效)
可用性(Availability): 每个操作都必须以可预期的响应结束
分区容错性(Partition tolerance) : 即使出现单个组件无法可用,操作依然可以完成
具体地讲在分布式系统中,在任何数据库设计中,一个Web应用至多只能同时支持上面的两个属性。
在分布式系统中,我们往往追求的是可用性,它的重要程序比一致性要高,那么如何实现高可用性呢? 前人已经给我们提出来了另外一个理论,就是BASE理论,它是用来对CAP定理进行进一步扩充的。
BASE理论:Basically Available(基本可用)
Soft state(软状态)
Eventually consistent(最终一致性)
BASE理论是对CAP中的一致性和可用性进行一个权衡的结果,理论的核心思想就是:我们无法做到强一致,但每个应用都可以根据自身的业务特点,采用适当的方式来使系统达到最终一致性(Eventual consistency)。
三.分布式事务的解决方案
3.1.两阶段提交协议(two-phase commit protocol)