终于有人把“分布式事务”说清楚了!
1、分布式事务 高可用是指系统无中断的执行功能的能力,代表了系统的可用程度,是进行系统设计时必须要遵守的准则之一。 而高可用的实现方案,无外乎就是冗余,就存储的高可用而言,问题不在于如何进行数据备份,而在于如何规避数据不一致对业务造成的影响。 对于分布式系统而言,要保证分布式系统中的数据一致性就需要一种方案,可以保证数据在子系统中始终保持一致,避免业务出现问题。 这种实现方案就叫做分布式事务,要么一起成功,要么一起失败,必须是一个整体性的事务。 针对分布式系统的特点,基于不同的一致性需求产生了不同的分布式事务解决方案, 追求强一致的两阶段提交、追求最终一致性的柔性事务和事务消息 等等。各种方案没有绝对的好坏,抛开具体场景我们无法评价,更无法能做出合理选择。在选择分布式事务方案时,需要我们充分了解各种解决方案的原理和设计初衷,再结合实际的业务场景,从而做出科学合理的选择。 2、理论基础 在讲解具体方案之前,有必要了解一下分布式中数据设计需要遵循的理论基础,CAP 理论和 BASE 理论,为后面的实践铺平道路。 2.1 CAP 理论 CAP,Consistency Availability Partition tolerance 的简写: Consistency: 一致性,对某个客户端来说,读操作能够返回最新的写操作结果。 Availability: 可用性