gydtep 发表于 2020-6-18 10:55:30
TM 在阶段 1 中询问 RM 完毕,但是在就准备完成日志时宕机,因不清楚宕机前的事务协商的结果,因此恢复后需要向 RM 发起回滚请求。gydtep 发表于 2020-6-18 11:04:04
TM 在阶段 1 中记录完毕事务准备完成日志后宕机,恢复后可以根据日志发起提交或者回滚的指令。gydtep 发表于 2020-6-18 12:37:52
持久性:基于本地事务实现,所以这一点没有问题。gydtep 发表于 2020-6-18 14:34:48
TCC 事务模型对业务方侵入较大,需要业务方把功能的实现上由一个接口拆分为三个,开发成本较高。gydtep 发表于 2020-6-18 14:41:15
同时 TCC 事务为了解决异步网络中的通信失败或超时带来的异常情况,要求业务方在设计实现上要遵循三个策略:gydtep 发表于 2020-6-18 15:33:42
Saga 和 TCC 一样,也是一种补偿事务,但是它没有 try 阶段,而是把分布式事务看作一组本地事务构成的事务链。gydtep 发表于 2020-6-18 16:22:53
其他事务如果更改了已经提交成功的数据,可能会导致补偿操作失败。gydtep 发表于 2020-6-18 17:24:07
普通消息是无法解决本地事务执行和消息发送的一致性问题的。因为消息发送是一个网络通信的过程,发送消息的过程就有可能出现发送失败、或者超时的情况。gydtep 发表于 2020-6-18 17:24:56
普通消息是无法解决本地事务执行和消息发送的一致性问题的。因为消息发送是一个网络通信的过程,发送消息的过程就有可能出现发送失败、或者超时的情况。gydtep 发表于 2020-6-18 19:27:33
则将消息更改为“可消费”并择机下发给订阅者;如果事务执行失败,则删除该事务消息。