本文主要是介绍MQ消息堆积如何解决?,希望对大家解决编程问题提供一定的参考价值,需要的开发者们随着小编来一起学习吧!
RabbitMQ如果有100万消息堆积在MQ,如何解决?
当生产者发送消息的速度超过消费者处理消息的速度,就会导致队列中的消息堆积,只到队列存储消息达到上限。之后发送的消息就会成为死信,可能会被丢弃,这就是消息堆积的问题。
解决消息堆积的三种思路:
-
- 增加更多的消费者,提高消费速度。
- 在消费者内开启线程池,加快消息处理速度。
- 扩大队列的容积,提高堆积上限。(采用惰性队列)
惰性队列特征:
接收到消息后直接存入磁盘而非内存
消费者要消费消息时才会从磁盘中读取并加载到内存中
支持数百万条的消息存储。
设置方式:
配置的方式 .lazy
注解的方式.value=lazy
这篇关于MQ消息堆积如何解决?的文章就介绍到这儿,希望我们推荐的文章对编程师们有所帮助!