当前位置: 首页 > news >正文

RabbitMQ如何确保消息发送和消息接收

消息发送确认
1 ConfirmCallback方法
ConfirmCallback 是一个回调接口,消息发送到 Broker 后触发回调,确认消息是否到达 Broker 服务器,也就是只
确认是否正确到达 Exchange 中。
2 ReturnCallback方法
通过实现 ReturnCallback 接口,启动消息失败返回,此接口是在交换器路由不到队列时触发回调,该方法可以不
使用,因为交换器和队列是在代码里绑定的,如果消息成功投递到 Broker 后几乎不存在绑定队列失败,除非你代
码写错了。
消息接收确认
RabbitMQ 消息确认机制(ACK)默认是自动确认的,自动确认会在消息发送给消费者后立即确认,但存在丢失消
息的可能,如果消费端消费逻辑抛出异常,假如你用回滚了也只是保证了数据的一致性,但是消息还是丢了,也就
是消费端没有处理成功这条消息,那么就相当于丢失了消息。
消息确认模式有:
AcknowledgeMode.NONE:自动确认。 AcknowledgeMode.AUTO:根据情况确认。
AcknowledgeMode.MANUAL:手动确认。 消费者收到消息后,手动调用 Basic.Ack Basic.Nack
Basic.Reject 后,RabbitMQ 收到这些消息后,才认为本次投递完成。
Basic.Ack 命令:用于确认当前消息。 Basic.Nack 命令:用于否定当前消息(注意:这是AMQP 0-9-1
RabbitMQ扩展) 。 Basic.Reject 命令:用于拒绝当前消息。 Nack,Reject后都有能力要求是否requeue消息或者
进入死信队列
http://www.dtcms.com/a/342441.html

相关文章:

  • 无监督学习(聚类 异常检测)
  • 数据大屏全链路质量保障测试
  • Eino 框架组件协作指南 - 智能图书馆建设手册
  • java基础(十三)消息队列
  • 【Springboot进阶】Java切面编程对性能的影响深度分析
  • K8s概念之进程、容器与 Pod 的终极指南
  • 第二阶段Winform-3:常用控件介绍2
  • 算法题(187):程序自动分析
  • k8s集群限制不同用户操作
  • Windows 笔记本实现仅关屏仍工作:一种更便捷的 “伪熄屏” 方案
  • 基于Spring Cloud Gateway动态路由与灰度发布方案对比与实践指导
  • 哈希表知识总结
  • 风吸式杀虫灯在果园的作用
  • python的校园研招网系统
  • 面试题24:Spring循环依赖
  • 为什么可以kvcache
  • 8月21日作业
  • 【python实用小脚本-194】Python一键给PDF加水印:输入文字秒出防伪文件——再也不用开Photoshop
  • 文字识别——PDF OCR
  • electron-vite_19配置环境变量
  • 亚马逊站外推广效能重构:自然排名提升的逻辑与实操边界
  • 底层逻辑颠覆者:Agentic BI如何通过“Data + AI Agent”架构重构数据价值链?
  • 【C++】继承(详解)
  • 开心实习之第二十九天
  • Bartender 5 多功能菜单栏管理(Mac电脑)
  • NPM组件 @angular_devkit/core 等窃取主机敏感信息
  • 消息中间件选型分析:RabbitMQ vs RocketMQ vs Kafka
  • java生成带水印的pdf文件
  • 【从零构建企业级线程池管理系统:Python并发编程实战指南】
  • 医疗智能体高质量问诊路径开发:基于数智立体化三维评估框架(go语言)