RabbitMq生产者可靠性

基本概念:

RabbitMQ生产者可靠性主要涉及确保消息能够可靠地发送到RabbitMQ服务器,并且在出现故障时能够进行适当的处理。

消息确认机制(Publisher Confirms):

启用 Publisher Confirms:生产者在发送消息之前,先向 RabbitMQ 服务器请求启用 Publisher Confirms 模式。

发送消息:生产者发送消息到 RabbitMQ 服务器。

消息确认:一旦消息被成功投递到所有匹配的队列,RabbitMQ 服务器会发送一个确认(ACK)回给生产者。

处理确认:生产者接收到 ACK 后,知道消息已经成功送达。如果消息无法送达,比如因为队列不存在或者其他内部错误,RabbitMQ 会发送一个否定确认(NACK)

如何处理生产者的确认消息:

生产者确认需要额外的网络和系统资源的开销,尽量不要使用,如果一定要使用,无需开启Publisher-Return机制,因为一般路由失败是自己业务问题,对于nack消息可以有限次数重试,依然失败则记录异常消息

事务支持:

使用事务来确保消息的可靠发送。如果消息发送失败,生产者可以回滚事务并重试,但这会影响性能。

生产者重连

当 RabbitMQ 生产者与 RabbitMQ 服务器之间的连接因为网络问题或其他原因断开时,生产者能够自动尝试重新连接到服务器的过程。这是确保消息发送可靠性的一种重要机制。

相关推荐
poemyang26 分钟前
“你还活着吗?” “我没死,只是网卡了!”——来自分布式世界的“生死契约”
分布式
echoyu.39 分钟前
消息队列-初识kafka
java·分布式·后端·spring cloud·中间件·架构·kafka
明达智控技术1 小时前
MR30分布式I/O在面机装备中的应用
分布式·物联网·自动化
JAVA学习通4 小时前
【RabbitMQ】---RabbitMQ 工作流程和 web 界面介绍
分布式·rabbitmq
安卓开发者5 小时前
鸿蒙NEXT应用数据持久化全面解析:从用户首选项到分布式数据库
数据库·分布式·harmonyos
kong@react7 小时前
springboot项目详细配置rabbitmq及使用rabbitmq完成评论功能
spring boot·rabbitmq·java-rabbitmq
JAVA学习通8 小时前
【RabbitMQ】如何在 Ubuntu 安装 RabbitMQ
分布式·rabbitmq
Lansonli8 小时前
大数据Spark(六十三):RDD-Resilient Distributed Dataset
大数据·分布式·spark
BYSJMG8 小时前
计算机毕业设计选题:基于Spark+Hadoop的健康饮食营养数据分析系统【源码+文档+调试】
大数据·vue.js·hadoop·分布式·spark·django·课程设计
JAVA学习通8 小时前
【RabbitMQ】----RabbitMQ 的7种工作模式
分布式·rabbitmq