RabbitMq如何保证消息的可靠性和稳定性

RabbitMq如何保证消息的可靠性和稳定性

rabbitMq不会百分之百让我们的消息安全被消费,但是rabbitMq提供了一些机制来保证我们的消息可以被安全的消费。

消息确认

消息者在成功处理消息后可以发送确认(ACK)给rabbitMq,通知消息已经被成功处理。如果RabbitMq没有收到确认,它可以重新发消息给另外一个消费者。这样可以防止消息丢失。

持久化

生产者可以将消息标记为持久的, 这样哪怕我们重启了也不会丢消息。队列可也可以标记为持久的。

发布确认

他就是生产者确认消息已经被交换机接受并且已经被消费者接受。

死信

如果消息因为某些原因无法被处理(例如,消息被拒绝并且不在重新投递),他可以被发送到死信队列进行进一步处理或者分析。

集群会高可用性

rabbitmq支持集群和镜像队列,来提高可靠性和可用性,在集群中可以实现消息和队列在多个节点间复制,防止单点故障消息丢失。

镜像队列

镜像队列就是主队列的副本。他和主从的却别就是主从式异步同步,他说同步复制

相关推荐
Wang's Blog13 分钟前
RabbitMQ: 使用MessageConverter高效处理消息
分布式·rabbitmq
‘胶己人’2 小时前
redis分布式锁
数据库·redis·分布式
山沐与山2 小时前
【MQ】Kafka与RocketMQ深度对比
分布式·kafka·rocketmq
武子康3 小时前
Java-203 RabbitMQ 生产者/消费者工作流程拆解:Connection/Channel、默认交换器、ACK
java·分布式·消息队列·rabbitmq·erlang·ruby·java-rabbitmq
小满、3 小时前
RabbitMQ: 同步异步解析、安装与控制台实践
分布式·消息队列·rabbitmq·mq
山沐与山3 小时前
【RabbitMQ】架构与集群模式详解
架构·rabbitmq·ruby
小满、4 小时前
RabbitMQ:AMQP 原理、Spring AMQP 实战与 Work Queue 模型
java·rabbitmq·java-rabbitmq·spring amqp·amqp 协议·work queue
金海境科技4 小时前
【服务器数据恢复】数据中心私有云Ceph分布式集群文件丢失数据恢复案例
服务器·经验分享·分布式·ceph
音符犹如代码4 小时前
ZooKeeper 实战指南:从入门到场景解析
分布式·微服务·zookeeper·云原生·中间件·架构