rocketmq发送失败怎么处理 rocketmq死信队列有什么用?
浏览量:4440
时间:2023-06-15 11:41:38
作者:采采
rocketmq死信队列有什么用?
死信队列用于处理无常使用的消息。当一条消息第一次消费失败时,消息队列MQ会自动重试该消息;达到最大重试次数后,如果消费仍然失败,说明**消费者**在正常情况下无确消费消息。此时,消息队列MQ不会立即丢弃消息,而是将消息发送到消费者对应的特殊队列。
消息队列MQ调用这个消息。;正常情况下不会消耗死信消息,而用于存储死信消息的特殊队列称为死信队列。
高并发场景下,如何保证生产者投递到消息中间件的消息不丢失?
您的问题应该是指传递的一致性,还是如果传递成功并收到ack确认,则消息不存在于消息队列中?
第一种情况,一般来说,为了保证消息的正确传递,一个具有acid特性的数据库,比如MySQL,就可以保证消息的正确传递。比如rabbitmq有一个确认机制,一个回调机制,不重复交付。当然,并发效果可能不是很强,但能保证稳定性,这要看业务场景。
在第二种情况下,基本上不 不用担心,很多消息队列都有持久化功能,可以保证在一些灾难情况下不丢失,正常业务情况下消息会被正确消费。
版权声明:本文内容由互联网用户自发贡献,本站不承担相关法律责任.如有侵权/违法内容,本站将立刻删除。