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

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

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

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

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

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

相关推荐
卧室小白1 小时前
ceph-分布式存储
分布式
aXin_ya1 小时前
微服务第九天 分布式缓存(Redis)
分布式·缓存·微服务
空中海2 小时前
Kafka 基础:从消息队列到事件流平台
分布式·kafka·linq
空中海4 小时前
Kafka Streams、Connect 与生态
分布式·kafka·linq
KmSH8umpK18 小时前
Redis分布式锁从原生手写到Redisson高阶落地,附线上死锁复盘优化方案进阶第三篇
redis·分布式·wpf
Dontla21 小时前
aio-pika介绍(基于asyncio的Python异步消息队列客户端,用于操作RabbitMQ,并实现对AMQP协议支持)
python·rabbitmq·ruby
KmSH8umpK21 小时前
SpringBoot 分布式锁实战:从单机锁到Redis分布式锁全覆盖,解决超卖、重复下单、幂等并发问题
spring boot·redis·分布式
KmSH8umpK1 天前
Redis分布式锁从原生手写到Redisson高阶落地,附线上死锁复盘优化方案
redis·分布式·wpf
_F_y1 天前
仿RabbitMQ实现消息队列-服务端核心模块实现(3)
c++·算法·rabbitmq
长河1 天前
XXL-JOB 从本地快速上手到核心架构深度解析
分布式