2017网站开发工程师php网站后台入口
news/
2025/9/24 11:31:41/
文章来源:
2017网站开发工程师,php网站后台入口,自助建网站软件平台,哪些网站是用h5做的rocketmq默认就是可以批量消费的#xff0c;但需要设置多个参数一起配合。 我们只需要知道他是怎么消费的#xff0c;就可以很精准的设置他的批量消费参数。
我们看看DefaultMQPushConsumer源码中的这几个参数#xff1a; /*** 消费消息线程#xff0c;最小数目*/private …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);这个就是降低线程数从而提升每次拉起的数据。 在没有这样配置之前每次处理就是一条配置了这个每次处理就变成几十条或几百条。
本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.mzph.cn/news/915644.shtml
如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!