1 极速了解MQ
介绍Rabbitmg用于解决分布式事务必须掌握的5个核心概念
一款分布式消息中间件,基于erlang语言开发, 具备语言级别的高并发处理能力。和Spring框架是同一家公司。 支持持久化、高可用
核心5个概念:
- Queue: 真正存储数据的地方
- Exchange: 接收请求,转存数据
- Bind: 收到请求后存储到哪里
- 消息生产者:发送数据的应用
- 消息消费者: 取出数据处理的应用
2、分布式事务问题
分布式事务是一个业务问题,不能脱离具体的场景。
2.1 分布式事务的几种解决方案
● 基于数据库XA/ JTA协议的方式 需要数据库厂商支持; JAVA组件有atomikos等 ● 异步校对数据的方式 支付宝、微信支付主动查询支付状态、对账单的形式; ● 基于可靠消息(MQ)的解决方案 异步场景;通用性较强;拓展性较高 ● TCC编程式解决方案 严选、阿里、蚂蚁金服自己封装的DTX
本文目标:针对所有人群,学会基于可靠消息来解决分布式事务问题。 分布式事务的解决方案,业务针对性很强,重要的是思路,而不是照搬
- 美团点评系统架构
2.2 多系统间的分布式事务问题
![bfc0d84d0ca2068c350ac883b3765063.png](https://img-blog.csdnimg.cn/img_convert/bfc0d84d0ca2068c350ac883b3765063.png)
- 用