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

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

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

消息确认

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

持久化

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

发布确认

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

死信

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

集群会高可用性

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

镜像队列

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

相关推荐
天天喝旺仔1 小时前
分布式服务容错实战:用 Sentinel 实现限流、熔断与降级
分布式·微服务·云原生·sentinel
手握风云-2 小时前
一条消息的旅程:RabbitMQ 学习与实践(五)
rabbitmq·java-rabbitmq
lisanmengmeng4 小时前
分布式追踪与监控:Skywalking(三)
分布式·skywalking
会周易的程序员13 小时前
5 节点边缘冗余方案(上):基于 aiRaft 的物联网高可用控制面设计
c++·分布式·物联网·raft·iot·共识
青山木1 天前
RocketMQ 入门到原理(一):整体架构与消息的生命周期
java·分布式·后端·中间件·架构·rocketmq
szephyr1 天前
消息队列入门:RabbitMQ 和 Kafka 到底怎么选,什么时候不该用
后端·架构·kafka·消息队列·rabbitmq
lisanmengmeng2 天前
分布式追踪与监控:Skywalking介绍(一)
分布式·skywalking
HanhahnaH2 天前
Redis单线程和Tair多线程架构设计对比
分布式·缓存
rustfs2 天前
MinIO 国产开源平替正式 GA
分布式·docker·云原生·rust