分布式事务
1.常见的解决方案
1.)基于数据库XA/JTA协议的方式
2.)异步校验数据的方式
3.)基于可靠的消息(MQ)的解决方案
4.)TCC编程式解决方案
2.美团点评系统架构图
分布式事务的问题,订单系统和运单系统的数据一致性如何解决?
3.整理的设计思路
1.)首先要有一个可靠的消息生产者,同时需要一张表来记录消息的发送
2.)要确保消息发布后,被确认
3.)开启ACk模式
4.)消息发送失败后,需要重发
消息中间件
ActiveMQ、RabbitMQ、Kafka等,主要用在跨系统数据传输,高并发流量削峰,数据异步处理等。本质上是一种具备接收请求,保存数据、发送数据等功能的网络应用。
RabbitMQ基础概念
(1.)Queue: 真正存储数据的地方
(2.)Exchange : 接收请求,转存数据
(3.)Bind: 队列和交换机进行绑定
(4)生产者: 发送数据端
(5.)消费者: 取出数据端