想象一下,我们有2个节点执行汇款。节点A启动从一个账户到另一个账户的资金转账,并且节点B对于完成该交易是可重复的。因此为了完成这个事务,节点A必须向节点B发送一些TRANSFER请求,并且在成功节点B上必须响应确认TRANSFER请求。我看到的可能的问题是:接收到TRANSFER请求后,节点B执行事务但未能发送响应。因此,节点A认为请求失败并报告问题,但事务已经完成。即使考虑两阶段提交协议(,其中节点B在接收到TRANSFER请求时没有提交事务,但仅执行它并等待来自节点A的一些提交确认),可能存在类似的问题:何时节点A发送TRANSFER提交请求,它不能确定节点B接收到该请求和事务实际完成(即使此请求已传送到目标主机,我们也无法确定它是否由某个进程提交)。分布式交易聚合
如何解决这个问题还是真的有问题?