RabbitMQ-ack、nack、reject、unacked
文章目录
- 1. 不做任何ack
- 2. ack
- 3. reject
- 4. Nack
1. 不做任何ack
如果队列使用的是手动ack,但在接收消息后不做任何ack处理,RabbitMQ会把消息标记为 unacked
,unacked状态的消息不会被消费,并且占用RabbirMQ资源,只有当消费者channel断开或者服务器重启,消息才会重新回到ready状态被其他消费者消费。
2. ack
确认签收后,消息从队列中删除。
自动ack
消费者接收到消息的那一刻就发送ack信息到RabbitMQ的队列,队列将此条消息删除。
自动ack的方式只要队列有消息,RabbitMQ会源源不断的把消息推送给客户端,而不管客户端能否消费的完。
手动ack
开发人员决定什么时机进行ack。
如果
没有及时进行ack
,RabbitMQ会将来不及做ack的消息标记为unacked
丢回RabbitMQ,被标记为unacked的消息无法被立刻重新消费,而是要等channel重启或者服务器重启才会变成ready
(可消费的消息)。但等待服务器重启这个过程中如果积压了太多unacked消息,会导致MQ响应越来越慢,甚至崩溃的问题。解决方式就是及时处理消息
RabbitMQ-ack、nack、reject、unacked相关推荐
- SpringBoot整合RabbitMQ 消息可靠投递、手动ack、延迟队列、死信队列、消息幂等性保障、消息积压
1.消息可靠投递 在使用 RabbitMQ 的时候,作为消息发送方希望杜绝任何消息丢失或者投递失败场景.RabbitMQ 为我们提供了两种方式用来控制消息的投递可靠性模式. confirm 确认模式 ...
- Springboot RabbitMQ 基础使用、消息发送确认、签收
概述 rabbitMQ 会做一个系列,包括:安装.基础使用.高级队列.集群. 使用环境: jdk 8 .springboot 2.4.10 常见概念: AMQP:高级消息队列协议,这是一个消息应用的规 ...
- django多任务开启rabbitmq,并进行声明队列、发送、阻塞监听消息
一,编写rabbitmq基础模块类 1,安装pika模块 pip install pika 这里需要注意的是: pika官网明确说明 pika==0.11.0版本只支持python2.6以前的版本. ...
- RabbitMQ高级指南:从配置、使用到高可用集群搭建
本文大纲: 1. RabbitMQ简介 2. RabbitMQ安装与配置 3. C# 如何使用RabbitMQ 4. 几种Exchange模式 5. RPC 远程过程调用 6. RabbitMQ高可用 ...
- (需求实战_进阶_07)SSM集成RabbitMQ 订阅模式 关键代码讲解、开发、测试
接上一篇:(企业内部需求实战_进阶_06)SSM集成RabbitMQ 订阅模式 关键代码讲解.开发.测试 https://gblfy.blog.csdn.net/article/details/104 ...
- (需求实战_进阶_03)SSM集成RabbitMQ 路由模式关键代码讲解、开发、测试
接上一篇:(企业内部需求实战_进阶_02)SSM集成RabbitMQ 关键代码讲解.开发.测试 https://gblfy.blog.csdn.net/article/details/10421403 ...
- 阿里云容器服务全线升级,ACK Pro开启公测、边缘容器商业化
容器服务企业版 ACK Pro 横空出世,高可靠.高安全.高性能调度 容器服务企业版 ACK Pro,不仅继承原容器服务 ACK 托管版集群所有优势, 例如 Master 节点托管和高可用等:而且,相 ...
- RabbitMQ 高级指南:从配置、使用到高可用集群搭建
博主说:在项目中,通过 RabbitMQ,咱们可以将一些无需即时返回且耗时的操作提取出来,进行异步处理,而这种异步处理的方式大大的节省了服务器的请求响应时间,从而提高了系统的吞吐量. 正文 1 Rab ...
- RabbitMQ实现订单超时设计思路、以及在订单过期临界点支付成功如何处理
场景: 我们知道用 RabbitMQ 的延时队列可以实现用户下单后在 xxx 时间内未支付,需要自动关闭订单.但如果用户在订单即将过期的最后一秒支付成功.那么这笔订单算不算正常下单?要不要释放库存? ...
- ES6 — Promise基础用法详解(resolve、reject、then、catch,all,)
ES6 - Promise基础用法详解 Promise 是一个构造函数,它自身拥有all.reject.resolve这几个眼熟的方法, 原型上有then.catch等同样熟悉的方法. 所以,在开始一 ...
最新文章
- python中的单例模式
- 指定结构体字节对齐方式
- deedeedee crazy 寒假逆向生涯(11/100)
- python与shell的3种交互方式介绍
- 为什么在加油站上班,一个月休3天,工资2000元,却有人干?
- 将linux文件拷贝到windows,Windows与Linux系统拷贝文件之pscp的使用分享
- 《Windows程序设计》复习题
- 淘宝类目批量查询工具v1.0 发布
- unicode 表情对照表
- 字符串intern()方法详解
- html标签指定式权重,alternate和Canonical标签防止重复收录分散权重
- 哈尔滨理工大学第七届程序设计竞赛决赛(网络赛-高年级组)G - 幼儿园战争...
- Edge上的gmail网页改为纯文字模式后改不回标准模式(HTML Gmail)问题和解决方法
- 自媒体人写稿必备的工具
- 有关联想拯救者Y7000重装window10系统
- 安全配置管理 (SCM):建立安全的基础
- [Lecture 8 ] Deep Learning Software(深度学习软件)
- 音视频开发三:FFmpeg安装与常用命令
- SQL学习笔记——Select查询语句
- 游戏开发入门(五)游戏动画系统
热门文章
- 学生成绩查询(查最大值,最小值,平均值,升序,降序)
- 学生认证申请专业版的JetBrains系列产品
- CRM真的能帮提高销售业绩吗?
- 小米无法播放html5,[html5]关于H5视频播放器常见的一些问题汇总
- Exynos4412 移植Linux-6.1(七)挂载Ramdisk文件系统,【已解决】Couldn‘t find valid RAM disk image starting at 0
- ODDR2原语使用方法
- Xilinx 7series FPGA SelectIO资源--ODDR
- 如何挑选考研政治的复习资料
- NYIST 489 哭泣天使
- 工业4.0时代:世界不再是你过去所知道的那样
- SpringBoot整合RabbitMQ 消息可靠投递、手动ack、延迟队列、死信队列、消息幂等性保障、消息积压