RocketMQ消费批拉超过32不生效
由于一些原因,我需要RocketMQ消费的时候,一批拉400条,一批处理400条。设置如下:

为了简单验证是否正确,消费如下:

直接通过打印msgs.size()观察情况即可。
现象
实验的topic里面的消息数量很多很多,但是启动消费端,消费端的日志如下:

奇怪啦,明明已经进行了修改

为什么还是每次只能消费32条呢?
调试RocketMQ源码
通过跟踪consumer代码:

这里的确已经设置为400了,那么我们需要跟踪到broker服务端进行查看了。

broker接受到的也是400,我们只有继续跟踪

因为返回为true导致下面的if判断成立,for循环就break了,所有只取了32条数据返回到consumer了:


如果需要让可以一次拉取400条,需要修改broker这里的数据配置才可(其实关于一条消息大小也是类似的,虽然说最大设置16M,但是也是和这里同理需要设置broker相关的数据配置才可生效)。
修改broker的配置文件,添加:maxTransferCountOnMessageInMemory=400 重启broker即可,效果如下:

效果正常,其实如果消息过大,还需要考虑下面几个参数:

备注:也可以不用重启broker,通过命令实时修改:
sh mqadmin updateBrokerConfig -c 集群名称 -n namesrv -k maxTransferCountOnMessageInMemory -v 400
总结
需要RocketMQ消费的时候,一批拉400条,一批处理400条。设置如下:

还是达不到效果的,还需要设置broker相关的参数,本次里面设置broker的maxTransferCountOnMessageInMemory=400即可,其他情况需要考虑如下等参数。

本文转载自http://www.jiangxinlingdu.com/rocketmq/2018/12/05/pullbatchsize.html
RocketMQ消费批拉超过32不生效的更多相关文章
- 解决DATASNAP远程方法参数超过32个的问题
群里有位同仁提出他有一个DATASNAP远程方法超过了32个参数,然后DELPHI编译通不过,提示方法参数不能超过32个,问怎么办?于是群内同仁纷纷出主意,我说用OLEVARINAT数组,有人说用RE ...
- rocketmq消费负载均衡--push消费为例
本文介绍了DefaultMQPushConsumerImpl消费者,客户端负载均衡相关知识点.本文从DefaultMQPushConsumerImpl启动过程到实现负载均衡,从源代码一步一步分析,共分 ...
- rocketmq消费队列代码
DefaultMQPushConsumer consumer = new DefaultMQPushConsumer(Constant.operationLogGroup); try { consum ...
- RocketMQ之消费者启动与消费流程
vivo 互联网服务器团队 - Li Kui 一.简介 1.1 RocketMQ 简介 RocketMQ是由阿里巴巴开源的分布式消息中间件,支持顺序消息.定时消息.自定义过滤器.负载均衡.pull/p ...
- RocketMq重复消费问题排查
前情 出现了重复消费的问题,同一个消息被重复消费了多次,导致了用户端收到了多条重复的消息,最终排查发现,是因为消费者在处理消息的方法onMessage中有异常没有捕获到,导致异常上抛,被consume ...
- RocketMQ 自己的整理和理解
每个人的想法不同, RocketMQ 介绍的时候就说 是阿里从他们使用的上 解耦出来 近一步简化 便捷的 目的当然是 让其能快速入手和开发 如果不是在项目设计层面上 只是使用的话 从Git上下载该项目 ...
- RocketMQ核心技术精讲与高并发抗压实战
1:特点 比较吃内存 内存至少1g 默认8g 1:支持集群模型,强调集群无单点,负载均衡以及水平扩展能力2:亿级别的消息堆积能力3:采用零拷贝原理Consumer 消费消息过程,使用了零拷贝 顺序写盘 ...
- RocketMQ原理解析-Consumer
consumer 1.启动 有别于其他消息中间件由broker做负载均衡并主动向consumer投递消息,RocketMq是基于拉模式拉取消息,consumer做负载均衡并通过长轮询向broker拉消 ...
- SpringBoot如何优雅的使用RocketMQ
目录 SpringBoot如何优雅的使用RocketMQ SpringBoot如何优雅的使用RocketMQ MQ,是一种跨进程的通信机制,用于上下游传递消息.在传统的互联网架构中通常使用MQ来对上下 ...
随机推荐
- linux执行python的脚本文件,提示提示No such file or directory
在window平台下,写好python脚本文件,迁移到linux平台,赋过可执行权限,执行该sh文件,却提示No such file or directory.ls 了下,确实有该文件,怎么会事呢, ...
- C#/对线程的认识
1.线程的优点和缺点,以及什么时候来考虑使用线程.多线程可以使得程序响应更快,程序在进行其他任务的同时,线程也处于活动状态.当前没有处理任务的时候,可以把处理器的时间让给其他任务可以随时停止任务可以设 ...
- 【leetcode】476. Number Complement
problem 476. Number Complement solution1: class Solution { public: int findComplement(int num) { //正 ...
- 【leetcode】475. Heaters
problem 475. Heaters solution1: class Solution { public: int findRadius(vector<int>& house ...
- Debug程序的使用
一.什么是Debug程序: Debug是DOS, Windows(但是Win7 64位没有,8 10不清楚.)都提供的实模式程序的调试工具, 使用它,可以查看CPU各种寄存器中的内容,内存的情况和在机 ...
- Github Page搜索工具更新 - 探索功能
探索功能提供了一种快速访问有意思的Github Page的途径,每周探索功能会更新有趣的搜索词条,你可以点击感兴趣的词条来获取该词条对应的Github Page. 首批Github Page探索词条包 ...
- DW/BI领域的自动化调度方案
1,利用专用自动化工具:如Tidal,Ctrl-M,Jenkins等.特点是功能强大,可以调用各种平台程序,脚本,可以设置依赖关系,调度时间,可以监控运行状态,发送邮件. 2,利用工具自身携带的调度功 ...
- idea 启动 springBoot debug很慢,正常启动很快是什么原因
说实话,从我开始使用springboot框架以来,就一直遇到这个问题,我刚把项目从SSM框架转成 spring boot 框架时,就发现有时候启动项目特别慢,有时候特别快,当时觉得特别奇怪,但也一直没 ...
- 微信小程序个人/企业开放服务类目一览表
微信小程序个人/企业开放服务类目一览表 微信小程序个人开放服务类目表 服务类目 类目分类一 类目分类二 引导描述 出行与交通 代驾 / / 生活服务 家政.丽人.摄影/扩印.婚庆服务.环保回收/废 ...
- 安装Oracle数据库心得
学到Oracle数据库了,想在自己电脑上安装个Oracle数据库.在网上下载了一个Oracle18c版 下边是我安装Oracle18c版的数据库失败,后来在卸载过程中遇到的问题: 1.用Univers ...