RabbitMQ 消息应答

2023-09-18 14:35:11

每日一句

物是人非事事休,欲语泪先流。

概述

为了保证消息在发送过程中不丢失,RabbitMQ引入了消息应答机制,

消费者在接收到消息并且处理该消息后,告诉RabbitMQ它已经处理了,RabbitMQ可以把消息删除了。

自动应答

消息发送后立即被认为已经传送成功,这种模式需要在高吞吐量和数据传输安全性方面做权衡。

因为这种模式有两种情况会出问题:

1。如果消息在接收到之前,消费者那边出现连接或者channel关闭,那么消息就丢失了。

2。消费者这边由于接收太多还来不及处理的消息,导致这些消息的积压,最终使得内存耗尽,最终这些消费者线程会被操作系统杀死。

所以这种模式仅适用于在消费者可以高效并以某种速率能够处理这些消息的情况下使用。

消息应答的方法

A.Channel.basicAck(用于肯定确认) RabbitMQ 已知道该消息并且成功的处理消息,可以将其丢弃了

B.Channel.basicNack(用于否定确认)

C.Channel.basicReject(用于否定确认) 与 Channel.basicNack 相比少一个参数,不处理该消息了直接拒绝,可以将其丢弃了

Multiple 的解释

手动应答的好处是可以批量应答并且减少网络拥堵

multiple 的

更多推荐

时序预测 | MATLAB实现NGO-LSTM北方苍鹰算法优化长短期记忆网络时间序列预测

时序预测|MATLAB实现NGO-LSTM北方苍鹰算法优化长短期记忆网络时间序列预测目录时序预测|MATLAB实现NGO-LSTM北方苍鹰算法优化长短期记忆网络时间序列预测预测效果基本介绍程序设计参考资料预测效果基本介绍MATLAB实现NGO-LSTM北方苍鹰算法优化长短期记忆网络时间序列预测(完整源码和数据)1.da

项目:TCP在线云词典

一.要求1.搭建的框架环境中实现并发,实现多个用户同时查询的功能。2.服务器分别保存每个用户的使用记录,客户端可以查询日志的功能。3.基本的查询单词的功能。4.密码验证的功能,实现登录验证账号和密码是否正确。二.流程和框架框架客户端服务器三.思路1.首先你要准备好单词文件,用于英语单词的查询。dict.txt2.该项目

【C++】泛型算法(四)使用顺序性容器

一、顺序性容器顺序性容器用来维护一组有序、类型相同的元素。主要是:vector和list。1.vectorvector是用一块连续的内存存放数据;vector进行随机访问,效率比较高(适合数列);vector对于插入和删除操作效率较低:这是由于vector内的每个元素都被存储在距离起始点固定的偏移位置,当进行插入操作时

C++ - 异常介绍和使用

前言我们在日常编写代码的时候,难免会出现编写错误带来程序的奔溃,或者是用户在使用我们编写的程序时候,使用错误所带来程序的奔溃。在C++当中可以对你觉得可能发生错误的地方在运行之前进行判断,发生错误可以给出提示。C语言传统的处理错误的方式在了解C++当中处理错误的异常之前,我们先来了解一下C语言当中处理错误的方式。终止程

前端面试的话术集锦第 20 篇博文——高频考点(输入 URL 到页面渲染的整个流程)

这是记录前端面试的话术集锦第二十篇博文——高频考点(输入URL到页面渲染的整个流程),我会不断更新该博文。❗❗❗借用这道经典面试题,将之前学习到的浏览器以及网络几章节的知识联系起来。首先是DNS查询,如果这一步做了智能DNS解析的话,会提供访问速度最快的IP地址回来。1.DNSDNS的作用就是通过域名查询到具体的IP。

【Vue】安装并使用vue-cli搭建SPA项目

目录一、Vue-cli安装1.1什么是Vue-cli1.2安装Vue-cli1.3使用Vue-cli构建项目二、SPA项目2.1导入、运行SPA项目2.2vue项目结构说明2.3.什么是*.vue文件2.4基于SPA项目完成路由2.5基于SPA项目完成嵌套路由一、Vue-cli安装1.1什么是Vue-cliVueCLI

换台电脑python使用uiautomator2操作逍遥模拟器

前几天写了一篇文章python使用uiautomator2操作雷电模拟器_小小爬虾的博客-CSDN博客今天用另外一个环境和模拟器再次测试。环境如下:win7sp164位;Python3.8.10;逍遥模拟器9.0.6;android版本9;逍遥模拟器自带adb版本1.0.41一、首先将手机(模拟器)进入开发者模式。多次

2023/9/18 -- C++/QT

作业完善登录框点击登录按钮后,判断账号(admin)和密码(123456)是否一致,如果匹配失败,则弹出错误对话框,文本内容“账号密码不匹配,是否重新登录”,给定两个按钮ok和cancel,点击ok后,会清除密码框中的内容,继续进行登录;如果点击cancel按钮,则关闭界面。如果账号和密码匹配,则弹出信息对话框,给出提

《消费金融真经》笔记

《消费金融真经》笔记一:概述与产品规划消费金融五大原则;竞品调研;收入来源;产品特征;增值功能;创造品牌;目标客群匹配;发展预测;产品实验。《消费金融真经》笔记二:信用评分信用评分优势;信用评分劣势;评分系统建设(评分系统规划,开发,实施,评测和监控);通用评分模型。《消费金融真经》笔记三:获客寻找潜在用户;筛选账户;

wallet connect简单使用

walletconnect简单使用准备工作安装配置打包测试准备工作新建一个文件夹xxx右键在终端中打开npminit-y在文件夹中新建src目录在src目录中新建index.html和index.js文件目录大概就这样我这是打包过的安装按照官方文档先安装官方页面长这样我们需要用到的是web3Modal点进去我们可以看到

C | atexit函数

C|atexit函数文章目录C|atexit函数atexit区别进程终止的方式Reference欢迎关注公众号“三戒纪元”atexitmain函数是整个程序的入口,但是其实可以在内核中可以使用链接器来设置程序的开始地方。当内核使用⼀个exec函数执行C程序时,在调⽤main函数之前先调用⼀个特殊的启动例程,可执行程序将

热文推荐