消息堆积
消息堆积本质:
- 当消息生产速度远远大于消费速度的时候,就会造成消息堆积
后果:
- 新消息无法进入队列,旧消息无法丢失,消息等待消费时间过长以至于超出了业务容忍范围。
为什么堆积?
- 生产者突然大量发布消息,消费者消费失败,消费者出现性能瓶颈,消费者直接挂掉了。
如何解决
- 排查消费者的消费性能瓶颈
- 增加消费者的多线程处理
- 部署增加多个消费者
- 新增消息队列,可以想办法把消息按照顺序的转移到一个新的队列,让消费者消费新队列中的消息
消息丢失
描述:
- 生产环境中可能出现一条消息因为某种原因丢失,那么怎么保证消息不会丢失呢?
- 需要同时对生产者,消息队列,消费者做出处理
丢失的三种情况:
1)消息在生产者丢失
原因:
- 生产者发送消息成功,但MQ没收到该消息&