分布式事务的产生根源与分类
微服务拆分后,单一数据库事务变成跨服务网络调用。下单涉及订单、库存、支付三个服务,任何一步失败都要回滚。按一致性要求分强一致性和最终一致性。同步模式(2PC、3PC)在生产环境几乎被淘汰。
Saga模式:长事务的实用方案
拆成多个本地事务,每个有对应补偿操作。Choreography(事件驱动)和Orchestration(集中编排)两种方式。Orchestration模式流程清晰易调试。补偿操作必须幂等,网络超时重试和协调器重启都会重复执行补偿。
本地消息表:最可靠的最终一致性方案
消息持久化和业务操作在同一个数据库事务中,定时任务扫描消息表做异步投递。优势是不依赖外部中间件,缺点是数据量大时需定期归档。
TCC模式与Seata框架实践
TCC的Try-Confirm-Cancel三步锁定粒度是业务层面的。Seata支持AT、TCC、Saga、XA四种模式。AT模式对业务代码侵入最小但全局锁粒度粗。低并发用AT,高并发核心链路用TCC,跨公司调用用Saga。
原创文章,作者:小编,如若转载,请注明出处:https://www.yunthe.com/wei-fu-wu-jia-gou-xia-fen-bu-shi-shi-wu-de-si-zhong-shi/