分布式事务

问题产生:我的理解是:一个业务有一组复杂的远程调用,这些调用在操作数据时要像一个「事务」一样可靠。

分布式事务的需求来源是要在分布式中保持一组操作的事务性。

方案:

2PC(Two Phase Commitment Protocol) 逻辑最可靠,实现复杂,长链路可用性低

TCC(Try Commit Cancel)较简单,需要很多的补偿逻辑,一些场景不太好定义阶段和处理 比如?

本地消息表加异步处理,也需要补偿机制,避免了分布式事务,增加并发能力和可用性。 但消息表耦合进业务里,需要附加处理消息的逻辑

MQ事务消息RocketMQ,同上,不过不再把消息表耦合进业务

*分布式事务协调器 (DTC) 是windows的解决方案。

你可能感兴趣的:(分布式事务)