分布式事务:事务里面涉及的点在不同的服务器上,即一个大的事务,是由很多小的事务组成,而小的事务分布在不同的节点上,但是这些小的事务组成的大的事务,任然需要满足事务的特性,要么同时成功,要么同时失败。
产生的原因是:数据库的拆分、分库分表;
SOA和微服务架构的使用;多个事务之间调用异常(网络异常、请求超时、数据库异常、程序宕机)
分布式事务的最终一致性:
CAP理论 和 Base 理论;
X/OpenDTP 事务模型:
XA协议:
JTA
AP
RM
TM
柔性事务TCC
刚性事务满足 ACID;
柔性事务满足的是Base 理论。
分布式事务的事务消息
事务消息:利用消息队列来解决分布式事务的问题
消息队列提供类似Open XA 的分布式事务功能,通过消息队列事务消息能达到分布式事务的最终一致性。
只有rocktmq支持事务;