分布式事务:从"原子性"到"最终一致"你去银行转账:你的账户 -100元对方账户 +100元必须同时成功,或者同时失败,否则钱就不翼而飞了。这就是事务的意义——要么全做,要么全不做。什么是分布式事务?1. 本地事务 vs 分布式事务本地事务:单个数据库内的事务 BEGIN → 操作1 → 操作2 → COMMIT/ROLLBACK分布式事务:跨多个服务/数据库的事务 服务A ──操作──▶ 数据库A │ └───────操作───────▶ 数据库B2. 为什么复杂?问题场景:用户下单流程: 1. 创建订单(订单服务 → 数据库A) 2. 扣减库存(库存服务 → 数据库B) 3. 扣减余额(账户服务 → 数据库C) 任何一个步骤失败,都需要回滚其他步骤!挑战:网络可能超时服务可能宕机部分成功怎么办?