5.6 小结 本章,我们首先了解事务的 ACID 特性,然后通过 CAP 定理探讨一致性、可用性和分区容错性之间的权衡关系。接着,介绍了在 CAP 定理约束下寻求平衡的弱一致性事务模型,如 BASE、TCC 和 SAGA。同时,补充了实施这些模型时必须考虑的“幂等性”原则,这是确保分布式事务在失败和重试情况下保持数据一致性的关键。 此刻,你是否体会到“分布式事务的思想”。其实啊,其核心思想就是从悲观锁的强一致性事务,变成分阶段的锁的柔性事务。使用 TCC、SAGA 等机制,把事务控制从数据库资源层挪到业务服务层,弱化资源的锁定从而提升系统可用性。 最终一致性保证不一致是暂时的,最终会达到一致。但这是一个非常脆弱的保证,它无法告诉我们系统何时收敛。而在收敛之前,读请求可能会返回任何值或者失败。