1、分布式架构中,由于后台服务器数量不再是单机,数据库采用分库分表策略,数据库分布在不同的多台服务器上,在单机背景下对数据库的操作ACID已不再适用于分布式系统。在分布式架构中如何保证事务的原子性、一致性、隔离性、持久性成为技术的突破点。 2、分布式事务业界还没有开源的产品,主流公司各自研发自己的分布式事务框架。
当我们的单个数据库的性能产生瓶颈的时候,我们可能会对数据库进行分区,这里所说的分区指的是物理分区,分区之后可能不同的库就处于不同的服务器上了,这个时候单个数据库的ACID已经不能适应这种情况了,而在这种ACID的集群环境下,再想保证集群的ACID几乎是很难达到,或者即使能达到那么效率和性能会大幅下降,最为关键的是再很难扩展新的分区了,这个时候如果再追求集群的ACID会导致我们的系统变得很差,这时我们就需要引入一个新的理论原则来适应这种集群的情况,就是 CAP 原则或者叫CAP定理
说明:消息发送者负责发送消息到消息中心,消息中心负责向消息接受者(后台服务器)发送消息,实现分布式事务,如果发送失败,消息中心会定期发送,消费直到成功,保证事务的一致性和可用性
说明:分布式事务采用2PC两阶段方式,和单机事务一样,异常恢复系统负责根据事务日志恢复异常