RabbitMQ如何保证消息不丢失?
针对上面的情况,确保消息不丢失
生产者发送消息RabbitMQ Server 消息丢失解决方案:
- 常用解决方案:发送方确认机制(publisher confirm)
- 开启AMQP的事务处理(不推荐)
RabbitMQ Server中存储的消息丢失解决方案:
- 消息回退:通过设置 mandatory 参数可以在当消息传递过程中不可达目的地时将消息返回给生产者
- 设置持久化:保证重启过程中,交换机和队列也是持久化的
RabbitMQ Server到消费者消息丢失解决方案:
- 手动ack确认机制