当前位置:   article > 正文

如何解决RabbitMQ的消息堆积与消息丢失_rabbitmq 消息堆积增加了消费者 新的消费者没有获取到消息

rabbitmq 消息堆积增加了消费者 新的消费者没有获取到消息

目录

消息堆积

消息丢失


 

消息堆积

 

消息堆积的本质

当消息生产速度远远大于消息消费的速度,就会造成消息堆积。 

消息堆积的后果

新消息无法进入队列、旧消息无法丢失、消息等待消费时间过长以至于超出了业务容忍范围。

 

消息堆积的原因

生产者突然大量发布消息、消费者消费失败、消费者出现性能瓶颈、消费者直接挂掉了

 

如何解决消息堆积

1.排查消费者的消费性能瓶颈

2.增加消费者的多线程处理

3.部署增加多个消费者

4.新增消息队列,可以想办法把消息按顺序的转移到一个新的队列,让消费者消费新队列中的消息

5.通过修改RabbitMQ的两个参数来增大消费消息的并发数:

concurrentConsumers:对每个listener在初始化的时候设置的并发消费者的个数。

prefetchCount:每次一次性从broker里面取的待消费的消息的个数。prefetchCount是BlockingQueueConsumer内部维护的一个阻塞队列LinkedBlockingQueue的大小,其作用就是如果某个消费者队列阻塞,就无法接收新的消息&#

声明:本文内容由网友自发贡献,转载请注明出处:【wpsshop】
推荐阅读
相关标签
  

闽ICP备14008679号