可靠消息最终一致性
可靠消息最终一致性方案是指当事务发起方执行完成本地事务后并发出一条消息,事务参与方(消息消费者)定能够接收消息并处理事务成功,此方案强调的是只要消息发给事务参与方最终事务要达到一致。
事务发起方(消息生产方)将消息发给消息中间件,事务参与方从消息中间件接收消息,事务发起方和消息中间件之间,事务参与方(消息消费方)和消息中间件之间都是通过网络通信,由于网络通信的不确定性会导致分布式事务问题。
- 本地事务和消息发生的原子性问题
本地事务和消息发送原子性问题就是事务发起方的本地事务提交后消息必须发生出去,否则就丢弃消息,即要么都成功,要么都失败 - 事务参与方接收消息的可靠性
事务参与方必须能从消息队列里面接收消息,如果接收失败可以重复接收消息 - 消息重复消费的问题
因为可能出现消费成功但因为网络问题没有告诉中间件消费成功了,这时消息中间件还是会继续推送消息,就不能应该再次消费了要实现事务参与方的方法幂等性
学习资料 : https://www.bilibili.com/video/BV1FJ411A7mV?p=23&share_source=copy_web