1.生产环境网络波动导致丢包
2.使用Confirm模式,接收端接收失败发送消息给生产者,生产者接收失败或未作处理
3.消息发送到exchange,但是queue和路由没有绑定
4.消息未做持久化处理,或者持久化不完全(只持久化Message,未持久化Queue,Exchange)
5.未做消息队列集群,消息会持久化到硬盘,但磁盘损坏,不能存储数据
6.普通集群节点消息同步的时候绑定Queue的节点挂了,需要等节点回复之后才能正常接收消息
7.消费端还没来得及确认就挂了,但消息未做处理
总结起来就是:
生产者到RabbitMQ Server,RabbitMQ Server到消费者,RabbitMQ Server持久化 三个过程