RabbitMQ-08 不公平分发与预取值

news2024/10/7 8:23:50

不公平分发

        我们之前演示的所有示例都遵循轮询分发,也就是多个消费者时交替消费队列消息。可以想一下我们之前的一个例子。Worker02处理消息只需要1s但是Worker03处理一个消息却用30s的情况。那么这个时候我们就要使用到不公平分发。简而言之就是能者多劳。

        需要在消费方设置channel.basicQos(1);

两个消费者都设置一下

 

 来看一下结果:

 显而易见,Worker02处理消息速度快,所以处理了5条消息

预取值

        其实预取值与不公平分发原理是相同的,只不过当预取值为1的时候,channel里面最多只能存一个消息,所以可以体现出能者多劳。本身消息的发送就是异步发送的,所以在任何时候,channel上肯定不止只有一个消息另外来自消费者的手动确认本质上也是异步的。因此这里就存在一个未确认的消息缓冲区,因此希望开发人员能限制此缓冲区的大小,以避免缓冲区里面无限制的未确认消息问题。

        可以通过使用basicqos方法设置“预取计数”值来完成.该值定义通道上允许的未确认消息的最大数量。增加预取将提高向消费者传递消息的速度。虽然自动应答传输消息速率是最佳的,但是,在这种情况下已传递但尚未处理的消息的数量也会增加从而增加了消费者的RAM消耗(随机存取存储器)应该小心使用具有无限预处理的自动确认模式或手动确认模式,

        不同的负载该值取值也不同100到300范围内的值通常可提供最佳的吞吐量,并且不会给消费者带来太大的风险。预取值为1是最保守的。当然这将使吞吐量变得很低,特别是消费者连接延迟很严重的情况下,特别是在消费者连接等待时间较长的环境中。对于大多数应用来说,稍微高一点的值将是最佳的。

代码测试

 

 当测试生产者发送

        简单概述就是先优先填充信道至自己设置的prefetchCount,后续消费快的继续消费。毕竟消费快自己的chanel里面的消息被ack的也快。

 

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

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

相关文章

亚马逊刷单测评的正确方法是什么样的?

做亚马逊刷单测评时想要有效果,测评方法很重要,不能直接通过链接进行下单,这样显的很不真实,如果是要找人帮忙测评,可以通过以下方式进行: 1、通过关键词搜索进入 选择自己想刷的关键词,直接搜…

物联网安全年报小结

小结 不仅仅是 LockerGoga,其他勒索软件也对工业系统造成了重大损失,如全球第二大听力集团 Demant 被勒索造成损失达 9500 万美元 [21];世界上最大的飞机零部件供给商之一 ASCO,因其位于 比利时扎芬特姆的工厂系统遭勒索病毒传染…

目标检测算法——YOLOv5/YOLOv7改进之结合​RepVGG(速度飙升)

>>>深度学习Tricks&#xff0c;第一时间送达<<< 目录 RepVGG——极简架构&#xff0c;SOTA性能&#xff01;&#xff01;&#xff01; &#xff08;一&#xff09;前沿介绍 1.RepVGGBlock模块 2.相关实验结果 &#xff08;二&#xff09;YOLOv5/YOLOv7改…

Alibaba官方上线,SpringBoot+SpringCloud全彩指南(第五版)

Alibaba作为国内一线互联网大厂&#xff0c;其中springcloudAlibaba更是阿里微服务最具代表性的技术之一&#xff0c;很多人只知道springcloudAlibaba其实面向微服务技术基本上都有的下面就给大家推荐一份Alibaba官网最新版&#xff1a;SpringBootSpringCloud微服务全栈开发小册…

基于STM32G431嵌入式学习笔记——三、KEY按键入门

一、按键在CubeXM里的配置 可以打开先前配置过LED的CubeMX&#xff0c;在其基础上进行按键的配置。 个人建议在这里先将原环境拷贝 更改副本文件夹名为LED_KEY_LCD 打开文件夹中的.ioc文件进行配置 在配置之前&#xff0c;我们先查阅产品手册了解按键的电路图&#xff0c;以…

07-Nginx 日志管理及自动切割

Nginx 日志管理及自动切割 对于程序员、运维来说&#xff0c;日志非常得重要。通过日志可以查看到很多请求访问信息&#xff0c;及异常信息。Nginx 也提供了对日志的强大支持。 日志管理范围 首先&#xff0c;下面要讲的这些日志相关属性可以配置在任意模块。在不同的模块&…

如果我在初用tomcat时,是看到这篇tomcat架构解析,是不是就不会被说菜鸡了!

写在前面 tomcat作为一个中间件&#xff0c;相信绝大多数java程序员&#xff0c;多多少少都应该用到过吧。尤其是在springboot还未流行的时候&#xff0c;本地环境&#xff0c;没少跑tomcat服务吧&#xff1f; 我们一般都是直接使用&#xff0c;将我们的web服务&#xff0c;直…

疫情下跨越一万公里的友情:熊超与飒特电子哨兵的故事

在熊超&#xff08;化名&#xff09;家中&#xff0c;有一面照片墙&#xff0c;上面贴满了他在非洲工作十多年的剪影。这些照片整齐地摆放成一个心形&#xff0c;挂在客厅最显眼的位置。每当亲戚朋友来访&#xff0c;熊超都会为他们讲起自己援助非洲十余年发生的故事。 十多年…

【无标题】EXCEL实现刷题

实现的思路&#xff1a; 导入题库word文件导入到excel–>绑定随机事件选定考题。 word题库导入Excel表的代码如下&#xff1a; 整理题库结构&#xff08;添加题号&#xff0c;分离答案&#xff09; Public Sub numAdd() Dim rng As Range, RNG1 As Range With Sheet1 .[b1]…

linuex服务器中如何安装mysql数据库(一次性完成,包含远程连接)

大家好。我是雄雄&#xff0c;欢迎关注微信公众号&#xff1a;雄雄的小课堂 今天给大家介绍一下&#xff0c;如何在新服务器中安装mysql数据库&#xff0c;总是捣鼓服务器&#xff0c;每次都去网上查&#xff0c;次次都不一样&#xff0c;浪费好多时间&#xff0c;这次自己记录…

Imperceptible Backdoor Attack: From Input Space to Feature Representation 笔记

1. 论文信息 论文名称Imperceptible Backdoor Attack: From Input Space to Feature Representation作者Nan Zhong&#xff08;Fudan University&#xff09;会议/出版社IJCAI 2022pdf&#x1f4c4;在线pdf 本地pdf代码&#x1f4bb;pytorch概要文中提出了一种难以察觉的后门…

temporal shift module(TSM)

【官方】Paddle2.1实现视频理解经典模型 — TSM - 飞桨AI Studio本项目将带大家深入理解视频理解领域经典模型TSM。从模型理论讲解入手&#xff0c;深入到代码实践。实践部分基于TSM模型在UCF101数据集上从训练到推理全流程实现行为识别任务。 - 飞桨AI Studiohttps://aistudio…

2. Object中equals和toStirng 源码分析

文章目录1.equals方法2.重写equals方法为何一定要重写hashCode方法&#xff1f;2.1 反例演示3.toString方法4. 整型转二进制我们都知道Object是所有类的父类&#xff0c;那么它里面的一些方法你是否真的理解了呢&#xff1f; 下面我们就以源码为基础来学习这些看似简单的方法吧…

谷歌浏览器无法使用翻译功能的解决方案,谷歌浏览器无法翻译怎么办?谷歌浏览器右键翻译失效了?

如果你发现网站别的方案无效&#xff0c;请参考我的方案&#xff0c; 绝对有效&#xff01; 2022年起&#xff0c;突然发现谷歌浏览器的翻译功能无法使用了&#xff0c;既然发现问题&#xff0c;就要解决问题&#xff0c;按照下面的步骤一步一步来操作 首先下载最新版谷歌浏览…

[附源码]java毕业设计校园出入管理系统

项目运行 环境配置&#xff1a; Jdk1.8 Tomcat7.0 Mysql HBuilderX&#xff08;Webstorm也行&#xff09; Eclispe&#xff08;IntelliJ IDEA,Eclispe,MyEclispe,Sts都支持&#xff09;。 项目技术&#xff1a; SSM mybatis Maven Vue 等等组成&#xff0c;B/S模式 M…

【Lua基础 第4章】Lua的流程控制、#的作用、table的创建方式、table表常用方法、函数、多返回值、可变长参数

文章目录&#x1f4a8;更多相关知识&#x1f447;一、Lua 的流程控制&#x1f538;if语句&#x1f31f;代码演示&#x1f538;if...else 语句&#x1f31f;代码演示&#x1f538;if...elseif...else 语句二、#的作用三、table的创建方式四、table表的常用方法使用&#x1f539;…

标记肽Suc-AAPI-pNA、72682-77-0

标记肽Suc-AAPI-对硝基苯胺编号: 184433 中文名称: 标记肽Suc-AAPI-对硝基苯胺 英文名: Suc-Ala-Ala-Pro-Ile-pNA CAS号: 72682-77-0 单字母: Suc-AAPI-pNA 三字母: Suc-Ala-Ala-Pro-Ile-pNA 氨基酸个数: 4 分子式: C27H38O9N6 平均分子量: 590.63 精确分子量: 590.27 等电点(P…

使用MobaXterm tunneling访问集群(服务器)jupyter notebook

应用场景 想要在本地计算机C上使用高性能服务器上的计算节点运行jupyter notebook相关的代码。 高性能服务器上通常只有一个公网ip用于账户登陆管理&#xff0c;但有多个计算节点&#xff0c;需要使用公网IP通过SSH方式登入管理节点A&#xff0c;并使用SSH二次登陆计算节点B&…

CKKS同态加密方案初步学习

如论文标题所示&#xff0c;CKKS允许复数和实数运算&#xff0c;是一个近似精度计算的方案&#xff0c;也就是解密出来的明文和加密之前的明文不会完全一致。也就是采用丢失部分精度来换取较高的效率。 CKKS的核心是把加密噪声视为近似计算误差的一部分&#xff0c;也就是解密出…

Python项目一:pygname

1.安装pip install pygame 2.加载模块初始化&#xff1a;开始 import sys import pygamepygame.init() #初始化3.创建窗口 3.1pygame .display模块 作用&#xff1a;创建游戏窗口 常见的内置方法&#xff1a; 方法作用 pygame。display.init() 初始化display模块p…