领导要求下班前画一张图把分布式事务问题说清楚

图解分布式事务的全部解决方案

图解分布式事务难题

Seata和Rocketmq事务消息也是我们我们正在使用的,非常适合中小型公司

AP、CP两个维度展开解决方案

Seata和Rocketmq事务消息方案

本方案具有: 强弱结合型事务 全部特点 非常适合中小型项目使用

秒杀/抢购/电商库存增减/供应链库存增减 等场景,都是属于 强弱结合型 的数据一致性场景

首先看看 RocketMQ 的事务消息, 能够保证本地操作 + 消息发送的原子性。具体来说, 主要是保证了本地方法执 行和消息发送在一个分布式事务中,要不全部成功,要不全部失败。

RocketMQ 通过发送 half 消息来实现,下面详细说明一下:

  1. 消息发送方 向 Broker 发送一条 half 消息;
  2. half 消息发送成功后,消息发送方 执行本地事务;
  3. 如果 消息发送方 执行本地事务成功,则向 Broker 发送 commit 请求,否则发送 rollback 请求;
  4. 如果 Broker 收到的是 rollback 请求,则删除保存的 half 消息;
  5. 如果 Broker 收到的是 commit 请求,则把 half 消息投递到 真实 队列, 等待消费服务来拉取,然后删除保存的 half 消息;
  6. 如果 Broker 没有收到 rollback/commit 请求,则会发送请求到 Producer 查询本地事务状态,然后根据 Producer 返回的本地状态做 commit/rollback 相关处理。

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值