rocketmq批量消费

RocketMQ(22) -- RocketMQ应用 -- 批量消费消息 RocketMQ应用 -- 批量消费消息 阅读详情

rocketmq默认就是可以批量消费的,但需要设置多个参数一起配合。
我们只需要知道他是怎么消费的,就可以很精准的设置他的批量消费参数。

我们看看DefaultMQPushConsumer源码中的这几个参数:

    /**
     * 消费消息线程,最小数目
     */
    private int consumeThreadMin = 20;
    /**
     * 消费消息线程,最大数目
     */
    private int consumeThreadMax = 64;
    /**
     * 拉消息间隔,如果为了降低拉取速度,可以设置大于0的值
     */
    private long pullInterval = 0;
    /**
     * 消费一批消息,最大数
     */
    private int consumeMessageBatchMaxSize = 1;
    /**
     * 拉消息,一次拉多少条
     */
    private int pullBatchSize = 32;

rocketmq的批量消费,简单来说就是开了一个线程池,启动多个线程去拉数据,再回调Listener去处理。

consumeThreadMin和consumeThreadMax是这个线程池的最大最小线程数,通过设置这个可以控制每次处理的线程数。

pullInterval可以理解为可调度线程池的时间参数,单位是毫秒。设置这个是为了降低消费的次数,从而达到每批消费的个数都比较多。如果本来量就很大,就没必要设置这个值了。

consumeMessageBatchMaxSize是一个最大消费限制参数,取值范围是[0,1024],也就是说,rocketmq线程池中的每一个线程,一次只能拿出1024条数据。所以如果想设置批量消费,这个值也要调大。

pullBatchSize是设置一次拉多少条,很好理解。

总结

所以说,让rocketmq批量消费,至少需要这几个值协同处理。
举个例子(pull模式并发消费):

consumer.setPullInterval(10000);
consumer.setConsumeThreadMin(5);
consumer.setConsumeThreadMax(10);
consumer.setConsumeMessageBatchMaxSize(1001);
consumer.setPullBatchSize(1000);

这个就是降低线程数,从而提升每次拉起的数据。
在没有这样配置之前,每次处理就是一条,配置了这个,每次处理就变成几十条或几百条。

RocketMQ 消息消费流程 该文所涉及的 RocketMQ 源码版本为 4.9.3。拉取消息 成功之后 会调用 org.apache.rocketmq.client.impl.consumer.ConsumeMessageConcurrentlyService#submitConsumeRequest 组装 消费消息 请求获取 consumeMessageBatchMaxSize,表示一个 ConsumeRequest 包含的消息 数量,默认为 1入参 msgs 为拉取消息的最大值,默认为 32如果 msgs 小于等于 consume 阅读详情

相关推荐

RocketMQ 第六章:手把手教老婆实现-批量消息生产者和消费者

/ 5.发送消息// 发送状态System.out.println(“发送结果:” + result);// 线程睡1秒// 6.关闭生产者producerSystem.out.println(“生产者关闭”);效果:第四节:批量消息消费者//1.创建消费者Consumer,制定消费者组名//2.指定Nameserver地址//消息拉取最大条数//3.订阅主题Topic和Tag//4.设置回调函数,处理消息//接受消息内容@Overridetry {

m0_60388338的博客 1007

Rocketmq消息批量发送&消息批量消费

Pull是客户端需要主动到服务端取数据,优点是客户端可以依据自己的消费能力进行消费,但拉取的频率也需要用户自己控制,拉取频繁容易造成服务端和客户端的压力,拉取间隔长又容易造成消费不及时。批量消费消息是一种提高 RocketMQ 消费者性能和吞吐量的好方法,但需要注意消息列表大小、消息顺序和事务性质等问题,以确保消费者的可靠性和稳定性。前言:批量发送和消费消息在一定程度上可以提高吞吐量,减少带宽,那么Rocketmq 中的消息怎么进行批量的发送和批量的消费呢;计算消息的大小并进行压缩。

拽着尾巴的鱼儿的博客 1万+

【RocketMq】RMQ开源版本Push消费模式为什么批量消费最大拉取数量是32?(MAC)

1 介绍: 由阿里巴巴开源 Apache 基金会顶级项目 gitHub地址https://github.com/apache/rocketmq 2 本地安转运行MAC 上图步骤分别是: 1 namesrv 服务,启动前注意更改IDE的环境变量 ROCKETMQ_HOME,并将distribute module下的四个配置文件Copy到ROCKETMQ_HOME目录,修改conf文件如上图(三)黄色文字部分。 2 配置文件 3 conf文件,命名broker名字等相关配置 4 ...

qfzhangwei的专栏 1559

RocketMq参数配置之拉取模式消息数量的设置

设置了pullBatchSize,但是实际上拉取的消息量少于设置的值;设置了 consumeMessageBatchMaxSize,但是实际上消费的消息量少于该值的问题所在。

码尚究好 7827

RocketMQ(06)——消息的批量发送和消费

消息的批量发送和消费 发送 生产者进行消息发送时可以一次发送多条消息,这对于体积比较小的消息而言会大大改善性能,可以想象原本发送10条消息需要传递10次,现在只需要传递一次。这可以通过调用send()时传递一个消息集合。比如下面这样。批量发送的消息必须拥有相同的Topic,且一次发送的消息的body的总体积不能超过4MB,否则会得到异常——org.apache.rocketmq.client.ex...

Elim的博客 7450

主成分分析避坑指南:为什么你的PCA结果总是不理想?

本文深入剖析了主成分分析(PCA)在实际应用中效果不佳的常见原因与解决方案。针对数据标准化、协方差矩阵选择、主成分数量确定、载荷矩阵解读等关键环节,提供了详细的避坑指南和诊断方法,并探讨了PCA的局限性及非线性数据结构下的备选方案,帮助数据分析师获得更稳健、可解释的降维结果。

convnet3designer的博客 511

如何在 Spring Boot 中实现 RocketMQ 的批量消息消费

本文将详细介绍如何从零开始,在 Spring Boot 项目中集成 RocketMQ 的批量消费功能,并提供一些性能优化建议。

weixin_43864927的博客 2592

基于SpringBoot+Vue的公司考勤管理系统

为什么选择我博主是优快云毕设辅导博客第一人兼开派祖师爷、博主本身从事开发软件开发、有丰富的编程能力和水平。专注于Java技术领域和学生毕业项目实战,高校老师/讲师/同行前辈交流和合作。

m0_71849512的博客 1162

如何在 Spring Boot 中利用 RocketMQ 实现批量消息消费

使用类批量发送消息。使用类批量消费消息,并设置最大批量大小。通过简单的 REST API 控制消息发送,确保一切顺利。批量消息处理可以提高消息传递的效率,适合高并发场景。这种方式可以减少网络开销,并有效利用系统资源。

龚小帅的博客 2431

高效计算斐波那契数列的C++实现及源码

斐波那契数列是一个非常经典的数学问题,通常递归方式计算斐波那契数列的时候会有很大的时间复杂度问题。首先,我们需要了解斐波那契数列的定义:斐波那契数列是指前两个数都为1,从第三个开始每个数都等于它前面两个数之和。因此,斐波那契数列的前几项为:1、1、2、3、5、8、13、21……在这个代码中,我们首先判断n是否特殊情况(即n等于0、1、2),然后通过循环计算得出对应的斐波那契数列值。通过这个例子,我们可以发现使用C++语言实现高效斐波那契数列计算的代码简单、易懂,并且时间复杂度相比递归方式有了很大的提升。

TechInk的博客 547

如何使用Docker部署OpenClaw小龙虾(docker compose快速部署)

本文以飞牛NAS为例💻,带大家一步步完成Docker部署OpenClaw小龙虾🦞。不管你是用NAS、云服务器还是本地电脑,只要支持Docker,都可以参考这个步骤来安装部署⚡

XiaoqiangClub的博客 727

Rocketmq批量消费

【代码】Rocketmq批量消费。

dj1955的博客 780

【Godot】【工程】中文字体与多语言(缺字/体积/打包:一次性配置到位)

本文介绍了Godot游戏开发中的中文字体配置与多语言支持方案。主要内容包括:1)中文字体的全局与局部设置;2)使用子集化技术减小字体体积;3)多语言资源管理及翻译系统实现;4)语言切换机制与控件刷新方法;5)字体回退策略优化显示效果;6)打包优化建议。文章提供了从字体导入到多语言实现的完整解决方案,帮助开发者系统性解决中文显示和多语言支持问题,同时优化资源体积和性能表现。配套案例可供学习参考。

技术小甜甜:传播可落地技术,帮助个人和企业降低解决真实场景问题的成本 598

RocketMQ中如何实现消息的批量发送和消费?

在 RocketMQ 中,批量发送和消费消息可以提高系统的吞吐量并减少网络开销。

qq_33240556的博客 1067

linux系统宝塔服务器temp文件夹里总是被上传病毒php脚本

服务器时不时的会发送短信说你服务器有病毒,找到了这个tmp文件,删除了之后又有了。确实是有很多人就这么无聊,每天都攻击你的服务器。找了很久的原因,网上也提供了一大堆方法,但都是很简陋的答案,具体怎么操作并没有说。没办法只能自己去排查这个问题。从两个角度来考虑,第一是服务器系统问题,比如宝塔的漏洞。但一时半会看不出问题来。只能去排查自己的项目代码。最后了解到代码确实是存在漏洞的。但代码中也确实了很多的校验,为什么会存在漏洞了?这就不得不从上传的过程开始说起。

guiplan 1497

HLA分型

HLA分型 一、根据WES的tumor数据进行数据分型 选用hlahd 软件安装及使用 [root@18605fd8771e ~]# wget https://jaist.dl.sourceforge.net/project/bowtie-bio/bowtie2/2.4.1/bowtie2-2.4.1-linux-x86_64.zip [root@18605fd8771e ~]# unzip bowtie2-2.4.1-linux-x86_64.zip && mv bowtie2-2.4.1

qq_23435961的博客 2489

RocketMQ批量消费、消息重试、消费模式、刷盘方式

C端先启动和C端后启动 消息重试机制:P端和C端2中重试

u010634288的博客 4万+

【100%通过率】2023华为od机试C卷【电脑病毒感染】C++ 实现

一个局域网内有很多台电脑,分别标注为 0 ~ N-1 的数字。相连接的电脑距离不一样,所以感染时间不一样,感染时间用t 表示。其中网络内一台电脑被病毒感染,求其感染网络内所有的电脑最少需要多长时间。如果最后有电脑不会感染,则返回-1.

MISAYAONE的博客 1727

RocketMQ 批量消费方式

1.自定义linstener,实现RocketMQListener<XXXX>, RocketMQPushConsumerLifecycleListener两个接口。2.实现接口定义的方法。

tony_yiyi的博客 283

LinePhone3.2.7(android端最新版本) sip客户端

SIP客户端For android:LinePhone3.2.7(最新版本),官网地址:http://www.linphone.org/

C# WinForm 基于DirectShow.dll编写的程序,可边预览边保存视频,音频和图片

基于微软的DirectShow.dll的二次开发1.自动识别连接的摄像头跟麦克风且可以对其进行选择(默认选中第一个)2.可录制wmv和avi两种格式的视频并且都带有音频,avi可以录制的分辨率和帧数进行选择,wmv默认进行了淸晰度优化如不喜欢可去除代码中有相关提示3.可在预览点开之后进行拍照,也可边录制视频边拍照4.添加了视频和音频的压缩功能(酌情使用)这次二次开发发现C#对DirectShow的相关信息太少,这次做完也不敢藏私共享出来,还望大家指正

springboot整合rocketMq、rocketMq批量发送、消费、rocketMq手动发送和监听

RocketMQ 是一款高性能、高吞吐量、低延迟的消息中间件。由阿里出品,后来捐赠给开源组织Apache。一般用于流量削峰填谷、异步通信、系统之间异步解耦、顺序消息、定时消息、事务消息等场景。RocketMQ5.0还支持类使用kafka的流处理。

m0_46861007的博客 7909

老版QQ原生表情gif动态

这是老版的QQ表情,不过全是动态的的,Windows照片查看器是不会动的,可以右击用浏览器打开查看,再说一遍是老版的,只是分享给宁愿用老版也要动态的人。

RocketMQ 批量顺序发送&消费

如果为并发消费, 配置MessageListenerOrderly为MessageListenerConcurrently即可。并发消费如果消费失败的可能性较大, 需要自己处理消费批次问题。消费失败重试时长(并发消费需要, 顺序消费不需要)修改broker配置, 需要重启broker。每次拉取消息大小设置32以上不生效。可以修改broker配置。

ly-chn的博客 596

WINCC7.3破解文件

WINCC7.3硬件够破解文件,有需要的下载!WINCC7.3硬件够破解文件,有需要的下载!

RocketMQ 消息消费 单个消费和批量消费配置实现对比(Springboot),完整实现示例对比

选择建议推荐模式实时性强、处理复杂单个消费吞吐量高、可聚合处理(如日志、统计)批量消费消息量大但延迟敏感度低批量消费 + 合理设置等待时间✅ 推荐:在数据同步、日志采集、批量入库等场景优先使用批量消费,性能提升显著。

bsklhao的博客 1244

[错误记录] --- rocketmq批量消费设置参数的问题

rocketmq想支持批量消费,于是便设置以下参数: consumer.setConsumeMessageBatchMaxSize(1000); 这样是正确的,但由于业务要求,还想再设置大点,于是设置成这样: consumer.setConsumeMessageBatchMaxSize(10000); 报错了。直接不消费了。 错误原因写的很明显,这个consumeMessageBatchMax...

zhangsir的博客 1万+
上一篇: [错误记录] --- rocketmq批量消费设置参数的问题
下一篇: 阿波罗配置中心(apollo)的个人看法
zhangSir134
博客等级 码龄9年 7969粉丝 246原创
评论 2
成就一亿技术人!
拼手气红包6.0元
还能输入1000个字符
 
 条评论被折叠 查看
添加红包

请填写红包祝福语或标题

个

红包个数最小为10个

元

红包金额最低5元

当前余额3.43元 前往充值 >
需支付:10.00元
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付元
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值