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

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

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

消息确认

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

持久化

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

发布确认

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

死信

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

集群会高可用性

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

镜像队列

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

相关推荐
^辞安3 小时前
RocketMQ为什么自研Nameserver而不用zookeeper?
分布式·zookeeper·rocketmq
在未来等你5 小时前
Kafka面试精讲 Day 8:日志清理与数据保留策略
大数据·分布式·面试·kafka·消息队列
poemyang6 小时前
“你还活着吗?” “我没死,只是网卡了!”——来自分布式世界的“生死契约”
分布式
echoyu.6 小时前
消息队列-初识kafka
java·分布式·后端·spring cloud·中间件·架构·kafka
明达智控技术7 小时前
MR30分布式I/O在面机装备中的应用
分布式·物联网·自动化
JAVA学习通9 小时前
【RabbitMQ】---RabbitMQ 工作流程和 web 界面介绍
分布式·rabbitmq
安卓开发者10 小时前
鸿蒙NEXT应用数据持久化全面解析:从用户首选项到分布式数据库
数据库·分布式·harmonyos
kong@react13 小时前
springboot项目详细配置rabbitmq及使用rabbitmq完成评论功能
spring boot·rabbitmq·java-rabbitmq
JAVA学习通13 小时前
【RabbitMQ】如何在 Ubuntu 安装 RabbitMQ
分布式·rabbitmq
Lansonli13 小时前
大数据Spark(六十三):RDD-Resilient Distributed Dataset
大数据·分布式·spark