分布式事务是随着微服务架构和分布式系统的普及而产生的一个核心技术难题。 下面我将分两部分为你详细解答:什么是分布式事务,以及目前业界主流的解决方案。 --- 一、 什么是分布式事务? 在单体应用中,我们通常使用关系型数据库的本地事务来保证操作的 ACID 特性(原子性、一致性、隔离性、持久性)。例如:扣减库存和生成订单在同一个数据库中,要么同时成功,要么同时失败。 分布式事务(Distributed Transaction) 是指事务的参与者、支持事务的服务器、资源服务器以及事务管理器分别位于不同的分布式系统的不同节点之上。 通俗地说: 当一个业务流程需要跨越多个独立的服务(或多个独立的数据库)才能完成时,为了保证这些跨服务/数据库的操作“要么全部成功,要么全部失败”,就需要用到分布式事务。 典型场景: 跨行转账: A银行扣钱(服务A/库A),B银行加钱(服务B/库B)。 电商下单: 订单服务生成订单,库存服务扣减库存,积分服务增加积分。 分布式事务之所以难,是因为网络是不可靠的(存在延迟、丢包、宕机等),这引出了分布式系统的两大理论基石:CAP定理(一致性、可用性、分区容错性最...