11 RabbitMQ消息的可靠性保障

RabbitMQ消息的补偿机制--确保消息百分百发送成功

首先producer操作自己的数据库,发送一条消息,将这个消息存储在Q1这个队列中。

然后Consumer拿Q1中的消息去消费,同时操作自己的数据库完成一些业务的处理,并异步发送确认消息到Q2中。

其中Q2是一个被回调检查服务监听的队列,回调检察服务会将Q2中的消息存储到MDB中。

过了一段时间以后producer发送了延迟消息到Q3队列中,Q3也是一个被回调检查服务监听的队列,这个时候回调检查服务会将Q3中的消息与刚刚写入MDB中的消息进行比对,如果比对成功则说明消息被消费了。如果比对不成功,则重新调用producer发送消息。

系统还具有定时检查服务,会定时对DB和MDB中的信息进行比对,如果比对失败则重新发送消息。

猜你喜欢

转载自blog.csdn.net/weixin_68930048/article/details/128285168