【RabbitMQ】如何进行消息可靠投递【下篇】 (4)

再来测试一下:

消息id:0a3eca1e-d937-418c-a7ce-bfb8ce25fdd4, msg:1 消息id:d8c9e010-e120-46da-a42e-1ba21026ff06, msg:1 消息确认成功, id:0a3eca1e-d937-418c-a7ce-bfb8ce25fdd4 消息确认成功, id:d8c9e010-e120-46da-a42e-1ba21026ff06 发现不可路由消息:1 收到业务消息:1

可以看到,两条消息都可以收到确认成功回调,但是不可路由消息不会被回退给生产者,而是直接转发给备份交换机。可见备份交换机的处理优先级更高。

总结

上一篇中,我们介绍了事务机制和生产者确认机制来确保消息的可靠投递,相对而言,生产者确认机制更加高效和灵活。本篇中,我们介绍了另外两种确保生产者的消息不丢失的机制,即通过 mandatory 参数和备份交换机来处理不可路由消息。

通过以上几种机制,我们总算是可以确保消息被万无一失的投递到目的地了。到此,我们的消息可靠投递也就告一段落了。消息可靠投递是我们使用MQ时无法逃避的话题,一次性搞定它,就不会再为其所困。总的来说,方法总比问题多,但如果你不知道这些方法,那么当问题来临时,也许就会不知所措了。

相信通过这几篇关于 RabbitMQ 文章的学习,对于 RabbitMQ 的理解已经突破天际,那还在等什么,赶紧把接入 RabbitMQ 的项目好好优化一下吧,相信现在你就不会再被那些不知所云的配置和代码所迷惑了。

到此为止,本篇就完美落幕了,希望能给你带来一些启发,也欢迎关注我的公众号进行留言交流。

1565529015677.png

内容版权声明:除非注明,否则皆为本站原创文章。

转载注明出处:https://www.heiqu.com/zwzgfy.html