在RabbitMQ中,怎么确保消息不会丢失?

为了确保消息不会丢失,可以从以下3个方面解决:

1.在创建队列的时候设置durable为true,发布消息的时候设置delivery为2,从而确保队列和消息都是持久的。

这样,就算是RabbitMQ服务器重启也不会造成消息的丢失。

2.开启发布确认模式,这样的话,生产者会等待服务器的确认响应,确保消息已经成功存储。

3.使用明确的消费者确认机制,当消费者处理完消息之后,向RabbitMQ发送确认,只有在RabbitMQ收到消费者发来的确认之后才会将消息从队列中删除。

相关推荐
一条泥憨鱼5 小时前
【消息队列】ACK确认了什么:消息队列可靠投递的完整链路
java·后端·kafka·消息队列·rabbitmq
迅翼SwiftWing10 小时前
编队系列(二)|固定翼如何依靠邻居信息保持队形?一致性控制、通信拓扑与分布式仿真实现,附仿真代码
分布式
ly768910 小时前
幂等消费者与重试副作用:Kafka 端点接入时的去重边界
分布式·kafka·linq·apache camel·幂等消费者·重试副作用·去重边界
qq_4523962310 小时前
第三篇:《从 ZooKeeper 到 KRaft 的迁移实战:前置条件、三阶段流程与回滚策略》
分布式·zookeeper·云原生
真上帝的左手1 天前
30. 技术专题-‌应用框架组件-关系型数据库-MySQL-Mybatis
数据库·分布式·mysql·中间件·mybatis
程序猿乐锅1 天前
万字详解Single-flight(单飞模式)
java·开发语言·分布式·后端·学习·single-flight
sunny06601 天前
推理 INFRA 方法论(2):分布式推理:TP、DP、EP、CP 与 PP 的取舍
人工智能·分布式
字节探索1 天前
Redis 分布式锁:从 SETNX 误删到看门狗自动续期的原理与实践
redis·分布式
真上帝的左手1 天前
30. 技术专题-‌应用框架组件-缓存-Redis
数据库·redis·分布式·缓存·中间件
斯普信专业组1 天前
Kafka 3.9.1 三节点集群部署方案(ZooKeeper 模式)
分布式·zookeeper·kafka