RabbitMQ-消息堆积
1. 消息堆积
当生产者发送消息的速度超过了消费者处理消息的速度,就会导致队列中的消息堆积,直到队列存储消息达到上限,之后发送的消息就会成为死信,可能会被丢弃,造成消息堆积。
2. 解决方案
① 增加更多的消费者,提高消费速度
② 在消费者内开启线程池加快消息处理速度
③ 扩大队列容积,提高堆积上限,即使用惰性队列
3. 惰性队列
惰性队列的特征:
① 接收到的消息直接存入磁盘而非内存
② 消费者要消费消息时才会从磁盘读取并加载到内存
③ 支持数百万条的消息存储
1. 消息堆积
当生产者发送消息的速度超过了消费者处理消息的速度,就会导致队列中的消息堆积,直到队列存储消息达到上限,之后发送的消息就会成为死信,可能会被丢弃,造成消息堆积。
2. 解决方案
① 增加更多的消费者,提高消费速度
② 在消费者内开启线程池加快消息处理速度
③ 扩大队列容积,提高堆积上限,即使用惰性队列
3. 惰性队列
惰性队列的特征:
① 接收到的消息直接存入磁盘而非内存
② 消费者要消费消息时才会从磁盘读取并加载到内存
③ 支持数百万条的消息存储