消息中间件RabbitMQ的数据一致性问题 -- 转载

消息中间件RabbitMQ的数据一致性问题 -- 转载

本篇博文为转载,❥(^_-)
转载连接如下:https://baijiahao.baidu.com/s?id=1683528889345165191&wfr=spider&for=pc

我们还是以线上购物为例:

很熟悉的网购下单页面 -

1、订单服务,需要创建订单

2、库存服务,需要扣减库存

3、支付服务,需要完成支付

4、积分服务,需要生成积分

… …
在这里插入图片描述

针对这笔订单,对于用户来说只有上述服务中的所有功能全部执行成功,下单才算是真正完成了。

而现实中这么多微服务间的数据传递,如果没有一个完善的保障机制,很难确保万无一失。

这个保障机制其实不难想到:

1、消息不能丢失

这是所有保障的基础。只要消息还在,其他问题都会有办法解决

RabbitMQ提供了消息持久化功能来支持

2、每一步都要确认

这是及时发现问题的关键。及早发现问题,影响范围控制在最小

RabbitMQ提供了发布确认、消息回发、接收确认功能来支持

3、执行结果要进行检查

这是最后的把关。只要有这个最后屏障,所有问题都会被发现

这需要业务服务间自己完成对账,RabbitMQ不参与业务逻辑,爱莫能助哦 -

4、消息丢失要补救

这是数据一致的最后一步,完成数据最终一致

发送方需要利用RabbitMQ完成补偿发送

橙色部分是RabbitMQ支持的,红色部分是需要服务间定制化开发的

好在有像RabbitMQ这样的消息中间件来辅助业务实现 _
在这里插入图片描述

  • 1
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值