RabbitMq生产者可靠性

基本概念:

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

消息确认机制(Publisher Confirms):

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

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

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

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

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

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

事务支持:

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

生产者重连

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

相关推荐
数智启示录16 分钟前
Apache Kafka Consumer 扩到 40 个仍不提速:Partition 上限锁死有效并行度 【Kafka合集】
数据库·经验分享·分布式·缓存·面试·kafka·apache
数智启示录23 分钟前
Apache Kafka 幂等 Producer 的边界:Exactly-Once 到了 MySQL 为什么失效 【Kafka合集】
数据库·经验分享·分布式·mysql·面试·kafka·apache
数智启示录1 小时前
Apache Kafka 不只是消息队列:日志与 Offset 分离如何让事件可重放 【Kafka合集】
经验分享·分布式·面试·kafka·apache
数智启示录1 小时前
Apache Kafka 同 Key 仍会乱序:从分区 Offset 到业务可见的四道边界 【Kafka 合集】
大数据·数据库·经验分享·分布式·面试·kafka·apache
BYSJMG1 小时前
大数据毕业设计选题推荐:基于大数据的全球气温历史演变分析与可视化,用Hadoop+Spark处理
大数据·hadoop·分布式·信息可视化·spark·kmeans·课程设计
爱吃苹果的梨叔1 小时前
AI 算力监控中心怎么建?分布式坐席 + 大屏联动 + 过程回放
人工智能·分布式·python
無a伟1 小时前
RabbitMQ :与AMQP的关系、核心组件、交换机类型
分布式·rabbitmq
jyOverQ6 小时前
RabbitMQ 消息积压怎么办?Prefetch、消费者并发与扩容
分布式·后端·rabbitmq
爱浦路 IPLOOK16 小时前
矿山无人化作业5G专网方案:企业专网核心网络选型分析
网络·分布式·科技·5g·信息与通信
实战派K8S&DB17 小时前
如何在内网配置 TiDB 数据库 Agent
数据库·人工智能·分布式·tidb