事务应在何处结束?设计分布式 Java 系统的一致性边界 笔记

事务应在何处结束?设计分布式 Java 系统的一致性边界

微服务并未消除事务,而是迫使架构师决定事务的边界应在何处。这一决策看似简单,实则困难重重。原本由单个数据库事务处理的业务操作,在解耦后可能跨越多个服务。例如,一个订单可能涉及库存、支付、定价、客户限额、审计历史以及通知。架构或许能将这些职责清晰地划分,但业务层面仍将其视为单一操作:下单。