4.2 数据一致性:最终一致性与Saga模式 4.2 数据一致性:最终一致性与Saga模式 在微服务架构中,由于业务被拆分成多个独立的服务,每个服务通常拥有自己的数据库。这种去中心化的数据管理模式带来了巨大的灵活性和可伸缩性,但也使得跨多个服务的业务操作变得复杂。传统单体应用中依赖数据库事务(ACID属性)来实现强一致性的方式,在微服务环境下难以直接应用,因为跨服务的分布式事务(如两阶段提交 2PC)通常会严重损害系统的可用性和性能。因此,微服务架构更多地依赖于最终一致性模型来处理跨服务的数据操作。 4.2.1 挑战:分布式事务的困境 在单体应用中,一个业务操作通常涉及对单一数据库的多次读写,通过数据库事务的ACID特性(原子性、一致性、隔离性、持久性)可以保证操作的整体成功或失败。