3.rabbitmq如何做到消息的100%成功投递?

biz db:业务数据库
msg db:消息数据库

upstream service:生产者

downstream service:消费者

callback service:中间服务(补偿机制)

mq broker:rabbitmq

流程介绍:

首先:将自己的业务进行入库操作,再发送消息到mq,消费者进行监听后消费,返回消费成功的消息到mq,中间服务监听成功回执进行入库,但是, 就在step4,发生断网等操作,消费成功的信息没有返回到mq,这时候,生产者开始发预定好的延迟检测机制,发一条消息到mq,中间服务消费后到msgdb查询是否刚刚发送的消息消费并且将成功回执入库成功,没有成功则发起rpc通信告知生产者,生产者将补偿一条消息发送给消费者,这时候,消费者需要做的是保证消息的不被重复消费!

优点:消息的失败回执是小概率事件,同时在保证中间服务也是高可用的情况下,将两个入库操作进行拆分,缓轻服务器的压力,

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值