RabbitMq实现分布式事务

在这里插入图片描述
RabbitMq实现分布式事务的原理是最终保持一致性
外卖的订单服务通过rabbitmq异步调派单服务
rabbitmq保证事务一致性应满足以下要求

  1. confirm机制保证订单服务投递的消息到达MQ
  2. 手动ack机制保证派单服务不丢失MQ发过来的信息
  3. MQ的补偿重试机制降低了因网络抖动的原因而订单----派单服务执行失败
  4. 如果订单服务执行失败而回滚,那么补单消费者将补单重新插入一条数据进入订单表,保证派单服务能正确执行
  5. 如果派单服务执行异常,那么派单消费者将补偿重试,仍旧失败那么将会放弃该消息并写入日志
  6. 定期job对数和人工补偿,保证数据的一致性

存在缺点:如果派单服务异常是不需要回滚也无法回滚,如果派单发现要派往的地方达几十公里,不符合外卖派送的规则,那么无法撤消订单和派单,只能认同订单和派单,不过可以标记其为异常

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值