RabbitMQ惰性队列使用

news2024/11/23 8:47:19

说明:惰性队列是为了解决消息堆积问题,当生产者生产消息的速度远高于消费者消费消息的速度时,消息会大量的堆积在队列中,而队列中存放的消息数量是有限的,当超出数量时,会造成消息的丢失。而扩容队列,实际上不太现实,因为队列的消息是存在内存中的,内存也有上限。

从RabbitMQ 3.6.0版本开始,增加了惰性队列的概念(Lazy Queues),惰性队列在接收到消息后是存到磁盘中,而不是内存,只有当消费者消费消息时,才把消息从磁盘中读取出来,加载到内存中。

使用

@RabbitListener方式

    @RabbitListener(queuesToDeclare = @Queue(
            name = "lazy.queue",
            durable = "true",
            arguments = @Argument(name="x-queue-mode", value="lazy")
    ))
    public void listenerQueue(String message){
        System.out.println("message = " + message);
    }

@Bean方式

    @Bean
    public Queue lazyQueue(){
        return QueueBuilder
                .durable("lazy.queue")
                .lazy()
                .build();
    }

正常队列、惰性队列各自发送10万条消息,观察区别

(正常队列)

在这里插入图片描述


(惰性队列)

在这里插入图片描述

区别:

  • 惰性队列使用的内存量大于正常队列,因为增加了磁盘的写入/读取

  • 惰性队列消费消息,速度较正常队列更稳定,当然速度更慢(上面只是偶然情况,大多数情况比正常队列慢)

总结

惰性队列用于解决消息堆积问题

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.coloradmin.cn/o/781376.html

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈,一经查实,立即删除!

相关文章

Homography单应性矩阵

1. Homography 单应性概念 考虑 同一个平面(比如书皮)的两张图片,红点表示同一个物理坐标点在两张图片上的各自位置。在 CV 术语中,我们称之为对应点。 Homography 就是将一张图像上的点映射到另一张图像上对应点的3x3变换矩阵. 因为 Homography 是一个 …

AtcoderABC237场

A - Not OverflowA - Not Overflow 题目大意 题目要求判断给定的整数N是否在范围[-231, 231-1]内,如果是则输出"Yes",否则输出"No"。 思路分析 位运算:由于题目中的范围是2的幂次方,可以使用位运算来进行快…

Elasticsearch/Enterprise Search/Kibana安装记录

目录 Elasticsearch的安装导入 elasticsearch PGP密钥 安装使用APT安装手动下载安装 启动elasticsearch安全功能重新配置节点以加入现有集群启用系统索引的自动创建功能运行Elasticsearch(在systemd下)检查Elasticsearch是否正在运行Elasticsearch配置外网访问 第三方包安装ela…

flex局部的知识总结

一、Flex布局的基本概念。 (1)Flex布局: 任何一个容器都可以指定为Flex布局。 注意:设为Flex布局以后,子元素的float、clear和vertical-align属性将失效。 (2)Flex容器:采用Flex布局…

Linux环境下Elasticsearch相关软件安装

Linux环境下Elasticsearch相关软件安装 本文将介绍在linux(Centos7)环境下安装Elasticsearch相关的软件。 1、安装Elasticsearch 1.1 Elasticsearch下载 首先去Elasticsearch官网下载相应版本的安装包,下载之后传输到linux服务器上。 官网地址:http…

Sony索尼CMOS图像传感器SubLVDS与SLVS-EC接口FPGA开发方案

索尼Sony公司的工业CMOS图像传感器主要有3种接口:Sub-LVDS、SLVS、SLVS-EC。 Sub-LVDS接口的CMOS主要是IMX2XX系列和IMX3XX系列的一部分型号,例如IMX250,IMX252、IMX255、IMX392、IMX304等。 SLVS与SLVS-EC接口的CMOS主要是IMX3XX系列的一部分…

ReviewTools-iOS混淆工具

ReviewTools-iOS混淆工具 下载 一键混淆 拖拽或点击上传项目,然后选择一个代码库即可开始对项目混淆。 一键混淆默认开启了所有的混淆选项,开启字符串加密功能需要手动选择一种加密方式。混淆单词以及垃圾代码均来自于大量Github项目,完美解决…

使用css给图片添加酷炫标题的几种方式

使用css给图片添加酷炫标题的几种方式 在本文章中,将会向大家展示如何使用 CSS3 创建具有各种过渡动画的图像标题。 浏览器支持情况 这些方式将在很大程度上依赖于css3的transform和transition属性,这些属性是相对较新的功能,因此&#xf…

设计模式原则

1、设计模式七大原则 1.1 设计模式的目的 编写软件过程中,程序员面临着来自 耦合性,内聚性以及可维护性,可扩展性,重用性,灵活性 等多方面的挑战,设计模式是为了让程序(软件),具有更好 代码重…

抖音短视频seo矩阵系统源码解析与技术实现

抖音短视频SEO矩阵系统源码解析与技术实现涉及到多个方面的技术,包括算法、网络爬虫、数据挖掘、自然语言处理、数据库设计等。 一、 以下是一些实现此系统的技术要点和步骤: 数据采集和处理 首先,需要对抖音短视频进行数据采集。这可以通过编…

【Linux进程】进程控制(上) {进程创建:fork的用法,fork的工作流程,写时拷贝;进程终止:3种退出情况,退出码,常见的退出方法}

一、进程创建 1.1 fork的初步认识和基本使用 在linux中fork函数是非常重要的函数&#xff0c;它从已存在进程中创建一个新进程。新进程为子进程&#xff0c;而原进程为父进程。 #include <unistd.h> pid_t fork(void);返回值&#xff1a;子进程中返回0&#xff0c;父进…

批量AI智剪:让您的短视频制作更加轻松有趣!

在如今的社交媒体时代&#xff0c;短视频已经成为了人们表达创意和分享生活的重要方式。然而&#xff0c;对于许多人来说&#xff0c;短视频制作却是一项繁琐且技术要求较高的任务。幸运的是&#xff0c;现在有了AI智剪&#xff0c;让您的短视频制作变得更加轻松有趣&#xff0…

java小区物业管理系统

java小区物业管理系统 计算机小区物业管理系统 ssh小区物业管理系统 基于javasshmysql小区物业管理系统的设计与实现 运行环境&#xff1a; JAVA版本&#xff1a;JDK1.8 IDE类型&#xff1a;IDEA、Eclipse都可运行 数据库类型&#xff1a;MySql&#xff08;8.x版本都可&a…

3.18 Bootstrap 列表组(List Group)

文章目录 Bootstrap 列表组&#xff08;List Group&#xff09;向列表组添加徽章向列表组添加链接向列表组添加自定义内容 Bootstrap 列表组&#xff08;List Group&#xff09; 本章我们将讲解列表组。列表组件用于以列表形式呈现复杂的和自定义的内容。创建一个基本的列表组的…

使用 Solon Cloud 的 Jaeger 做请求链路跟踪

<dependency><groupId>org.noear</groupId><artifactId>jaeger-solon-cloud-plugin</artifactId> </dependency>1、描述 分布式扩展插件。基于 jaeger 适配的 solon cloud 插件。基于 opentracing 开放接口提供链路跟踪支持。 2、配置示…

vulnhub打靶--raven

目录 vulnhub--raven1.nmap扫描端口服务2.点击主页service发现wordpress目录&#xff0c;识别为wordpress3.使用wpscan扫描4.扫描网站发现两个用户5.简单尝试下发现michael用户名和密码一致6.提权7.总结 vulnhub–raven 下载地址&#xff1a;raven 1.nmap扫描端口服务 2.点击…

Spring:xml 配置

Bean 配置xml 配置反射模式工厂方法模式Factory Bean 模式配置 在 Spring 中,配置 bean 实例一般使用 xml 配置方式或注解(Annontation) 方式进行配置。 xml 配置 在 xml 配置中分为三种方式,分别为反射模式、工厂方法模式和 Factory Bean 模式。 反射模式:指通过指定 …

IMU和视觉融合学习笔记

利用纯视觉信息进行位姿估计&#xff0c;对运动物体、光照干扰、场景纹理缺失等情况&#xff0c;定位效果不够鲁棒。当下&#xff0c;视觉与IMU融合(VI-SLAM&#xff09;逐渐成为常见的多传感器融合方式。视觉信息与IMU 数据进行融合&#xff0c;根据融合方式同样可分为基于滤波…

【NLP】视觉变压器与卷积神经网络

一、说明 本篇是 变压器因其计算效率和可扩展性而成为NLP的首选模型。在计算机视觉中&#xff0c;卷积神经网络&#xff08;CNN&#xff09;架构仍然占主导地位&#xff0c;但一些研究人员已经尝试将CNN与自我注意相结合。作者尝试将标准变压器直接应用于图像&#xff0c;发现在…

4.2 Bootstrap HTML编码规范

文章目录 Bootstrap HTML编码规范语法HTML5 doctype语言属性IE 兼容模式字符编码引入 CSS 和 JavaScript 文件HTML5 spec links 实用为王属性顺序布尔&#xff08;boolean&#xff09;型属性减少标签的数量JavaScript 生成的标签 Bootstrap HTML编码规范 语法 用两个空格来代替…