阿里云云原生架构实践
上QQ阅读APP看书,第一时间看更新

3.5 分布式事务模式

在采用微服务架构的场景中,我们通常不会使用数据库共享模式,而是遵循每个微服务单独使用一个数据库的设计原则。这种模式带来好处的同时带来一个问题:当某个业务贯穿于多个微服务时,这些微服务应用中的数据分属于不同的数据库,彼此的事务都是独立的,这种情况应该如何保证数据的一致性呢?

目前,分布式事务的实现主要有5种模式:传统的两阶段提交(2 PC)、早期的最终一致性BASE、预留资源的TCC、补偿机制的Saga和高效的AT。接下来,我们看一下在业务场景中究竟采用哪种模式。