RabbitMQ的消息消费确实有超时时间机制。默认情况下,如果消息消费超过30分钟还没有完成,rabbitMQ会认为发生了错误,进而导致整个channel被销毁,无法继续消费。这个超时时间可以在RabbitMQ的配置中进行调整,以适应不同的业务需求。值得注意的是,这种更改是临时的,如果想要进行永久更改,需要进入rabbit.conf文件里进行修改。此外,在Consumer客户端消费消息的过程中,如果消费失败,即Consumer客户端在重试间隔时间内没有应答消息,则会触发消息重试机制。重试期间,任何一次消费成功,即Consumer客户端应答消息,则立即停止消息重试。如果重试超过16次还未成功,则停止重试。
参考https://help.aliyun.com/zh/apsaramq-for-rabbitmq/developer-reference/message-timeout-and-retry?spm=a2c4g.11174283.0.i2 此回答整理自钉群“RabbitMQ&AMQP 产品咨询群”
版权声明:本文内容由阿里云实名注册用户自发贡献,版权归原作者所有,阿里云开发者社区不拥有其著作权,亦不承担相应法律责任。具体规则请查看《阿里云开发者社区用户服务协议》和《阿里云开发者社区知识产权保护指引》。如果您发现本社区中有涉嫌抄袭的内容,填写侵权投诉表单进行举报,一经查实,本社区将立刻删除涉嫌侵权内容。
涵盖 RocketMQ、Kafka、RabbitMQ、MQTT、轻量消息队列(原MNS) 的消息队列产品体系,全系产品 Serverless 化。RocketMQ 一站式学习:https://rocketmq.io/