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

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

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

消息确认

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

持久化

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

发布确认

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

死信

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

集群会高可用性

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

镜像队列

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

相关推荐
R.lin1 天前
分布式锁Redis、ZooKeeper 和数据库实现分布式锁的优缺点、实现方式以及适用场景
分布式
沐浴露z1 天前
Kafka Consumer 消费流程详解
java·分布式·kafka
starandsea1 天前
kafka添加压缩配置后失败
分布式·kafka·linq
zyh200504301 天前
RabbitMQ概述
分布式·消息队列·rabbitmq·消息中间件·amqp
武子康1 天前
Java-164 MongoDB 认证与权限实战:单实例与分片集群 整体认证配置实战 最小化授权/错误速查/回滚剧本
java·数据库·分布式·mongodb·性能优化·系统架构·nosql
斯普信专业组1 天前
rabbitmq-k8s下双架构镜像+手动sts部署完全文档(上)
架构·kubernetes·rabbitmq
大G的笔记本1 天前
Redis 分布式锁如何保证同一时间只有一个客户端持有锁
数据库·redis·分布式
斯普信专业组1 天前
rabbitmq-k8s下双架构镜像+手动sts部署完全文档(下)
架构·kubernetes·rabbitmq
飞鱼&1 天前
Kafka(文件)数据存储、清理机制、高性能设计
分布式·kafka
herobrineAC7892 天前
Hyperopt 强大的分布式参数优化框架全解析
分布式·其他