2020-05-20

# 基于RabbitMQ的可复用的事务消息方案

>什么是事务性消息

可以认为是一个确保分布式系统中的最终一致性的两阶段提交(two-phase commit )的消息实现。

事务性消息确保本地事务的执行和消息的发送是一个原子性操作。

>先扔一张图片欣赏下

我们要达到可复用的事务性消息至少要满足以下特点:

1、消息发送确认机制

2、消息接受确认机制

3、消息重投

4、消费幂等性

5、RabbitMQ 持久化  等等

事务消息原则上只适合弱一致性(或者说最终一致性)的场景,针对强一致性要求的业务逻辑则不适用。因为弱一致性就意味着

不保证在任意时刻任意节点上的同一份数据都是相同的,但是随着时间的迁移,不同节点上的同一份数据总是在向趋同的方向变化。

最后编辑于
©著作权归作者所有,转载或内容合作请联系作者
平台声明:文章内容(如有图片或视频亦包括在内)由作者上传并发布,文章内容仅代表作者本人观点,简书系信息发布平台,仅提供信息存储服务。