生产者可靠性投递消息后,消费者也可能会产生一些问题,比如:没有接受到消息,接收消息后在代码执行过程中出现了异常等。在这种情况下我们需要进行额外的处理,那么就需要手动进行消息的确认签收,rabbitmq给我们提供了一个机制:ACK机制。额外的知识:RabbitMQ的死信队列详解 - 简书 (jianshu.com)
ACK机制有三种方式:
- 自动确认 acknowledge="none"
- 手动确认 acknowledge="manual"
- 根据异常情况来确认(暂时不怎么用) acknowledge="auto"
这篇博客是在这个基础上写的(17条消息) rabbitMQ 可靠性消息投递_angen2018的博客-优快云博客,具体代码我会打包好了,放个链接下载。(17条消息) springcloud_rabbitMQ_消息可靠性投递.rar-Java文档类资源-优快云下载
代码具体实现:
手动确认,在可靠性投递时使用
开启手动确认
spring:
rabbitmq:
port: 5672
host: localhost
username: guest
password: guest
virtual-host: /
#开启confirms这个模式
#springboot2.2.0.RELEASE支持这个
#publisher-confirm-type: correlated
publisher-confirms: true

本文介绍了RabbitMQ的ACK机制,用于处理消费者可能存在的消息丢失问题。通过设置不同的确认模式,如自动确认、手动确认,确保消息的可靠传递。特别提到了手动确认在可靠消息投递中的应用,并提供了相关代码实现和资源下载链接,以帮助理解如何通过持久化和确认机制保障数据一致性。
最低0.47元/天 解锁文章
1763

被折叠的 条评论
为什么被折叠?



