由于一些原因,我需要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重复消费问题排查
前情 出现了重复消费的问题,同一个消息被重复消费了多次,导致了用户端收到了多条重复的消息,最终排查发现,是因为消费者在处理消息的方法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来对上下 ...
-
源码分析Kafka 消息拉取流程
目录 1.KafkaConsumer poll 详解 2.Fetcher 类详解 本节重点讨论 Kafka 的消息拉起流程. @(本节目录) 1.KafkaConsumer poll 详解 消息拉起主 ...
随机推荐
-
python 之 前端初识 html
html语法代码示例 <!DOCTYPE html> <html lang="en"> <head> <meta charset=&quo ...
-
Java反射机制<;2>;
反射机制还可以调用类中的指定方法或指定属性,并且可以通过反射完成对数组的操作. 通过反射调用类中的方法 import java.lang.reflect.Method; //============= ...
-
Android 常用的快捷键(随时更新)
android studio 是google出的一款好用不贵的ide,好像是powerd by idea的那个公司,反正风格上差不多.下面是android studio常用的快捷键设置,记录一下自己用 ...
-
poj1006---中国剩余定理
#include<iostream> using namespace std; int main(){ ; &&e!=-&&i!=-&&d! ...
-
几个linux 下C/C++集成开发环境推荐
链接地址:http://www.lupaworld.com/article-210675-1.html 摘要: 一.AnjutaAnjuta是一个多语言的IDE,它最大的特色是灵活,同时打开多个文件, ...
-
ios设备触发虚拟键盘输入后position:fixed 无效的一些简单另类的解决方法。
首先看一下我要解决的问题,第一张图是正常的情况下,第二张图是点击了输入框之后的情况,就是要解决此问题~! 百度了一下解决方法,好像有以下的一些方法: 1. iscroll 2. Jquery Mobi ...
-
Mlecms 反射型xss &;&; 后台任意文件下载
应该算0day吧,自己分析出来的,有点鸡肋,不过小cms分析确实比较简单. xss地址:search.php?word=a><img+src=1+onerror=alert`1`>a ...
-
基于V4L2摄像头采集图片程序设计
#ifndef __COMMON_H #define __COMMON_H //该头文件定义的是摄像头在屏幕上显示的宽度和高度 #include<stdio.h> #include< ...
-
如何让div中的table水平居中
<div style="text-align:center"> <table border="1" cellpadding="3&q ...
-
使用canvas实现一个圆球的触壁反弹
HTML <canvas id="canvas" width="500" height="500" style="borde ...