日韩性视频-久久久蜜桃-www中文字幕-在线中文字幕av-亚洲欧美一区二区三区四区-撸久久-香蕉视频一区-久久无码精品丰满人妻-国产高潮av-激情福利社-日韩av网址大全-国产精品久久999-日本五十路在线-性欧美在线-久久99精品波多结衣一区-男女午夜免费视频-黑人极品ⅴideos精品欧美棵-人人妻人人澡人人爽精品欧美一区-日韩一区在线看-欧美a级在线免费观看

歡迎訪問 生活随笔!

生活随笔

當前位置: 首頁 > 编程资源 > 编程问答 >内容正文

编程问答

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

發布時間:2024/7/23 编程问答 47 豆豆
生活随笔 收集整理的這篇文章主要介紹了 [错误记录] --- rocketmq批量消费设置参数的问题 小編覺得挺不錯的,現在分享給大家,幫大家做個參考.

rocketmq想支持批量消費,于是便設置以下參數:

consumer.setConsumeMessageBatchMaxSize(1000);

這樣是正確的,但由于業務要求,還想再設置大點,于是設置成這樣:

consumer.setConsumeMessageBatchMaxSize(10000);

報錯了。直接不消費了。

錯誤原因寫的很明顯,這個consumeMessageBatchMaxSize只支持0到1024,超出范圍就直接啟動消費者失敗。
下面是報錯信息:

com.alibaba.rocketmq.client.exception.MQClientException: consumeMessageBatchMaxSize Out of range [1, 1024] See https://github.com/alibaba/RocketMQ/issues/73 for further details.at com.alibaba.rocketmq.client.impl.consumer.DefaultMQPushConsumerImpl.checkConfig(DefaultMQPushConsumerImpl.java:910) ~[rocketmq-client-3.2.2.R3.FB-20160704.105459-1.jar:na]at com.alibaba.rocketmq.client.impl.consumer.DefaultMQPushConsumerImpl.start(DefaultMQPushConsumerImpl.java:695) ~[rocketmq-client-3.2.2.R3.FB-20160704.105459-1.jar:na]at com.alibaba.rocketmq.client.consumer.DefaultMQPushConsumer.start(DefaultMQPushConsumer.java:385) ~[rocketmq-client-3.2.2.R3.FB-20160704.105459-1.jar:na]at com.yeahmobi.dsp.adconsumer.helper.AbstractPullConsumer2ForBatch.afterPropertiesSet(AbstractPullConsumer2ForBatch.java:173) ~[dsp-track-consumer-0.0.1-SNAPSHOT.jar:na]at org.springframework.beans.factory.support.AbstractAutowireCapableBeanFactory.invokeInitMethods(AbstractAutowireCapableBeanFactory.java:1642) [spring-beans-4.3.3.RELEASE.jar:4.3.3.RELEASE]at org.springframework.beans.factory.support.AbstractAutowireCapableBeanFactory.initializeBean(AbstractAutowireCapableBeanFactory.java:1579) [spring-beans-4.3.3.RELEASE.jar:4.3.3.RELEASE]at org.springframework.beans.factory.support.AbstractAutowireCapableBeanFactory.doCreateBean(AbstractAutowireCapableBeanFactory.java:545) [spring-beans-4.3.3.RELEASE.jar:4.3.3.RELEASE]at org.springframework.beans.factory.support.AbstractAutowireCapableBeanFactory.createBean(AbstractAutowireCapableBeanFactory.java:482) [spring-beans-4.3.3.RELEASE.jar:4.3.3.RELEASE]at org.springframework.beans.factory.support.AbstractBeanFactory$1.getObject(AbstractBeanFactory.java:306) [spring-beans-4.3.3.RELEASE.jar:4.3.3.RELEASE]at org.springframework.beans.factory.support.DefaultSingletonBeanRegistry.getSingleton(DefaultSingletonBeanRegistry.java:230) [spring-beans-4.3.3.RELEASE.jar:4.3.3.RELEASE]at org.springframework.beans.factory.support.AbstractBeanFactory.doGetBean(AbstractBeanFactory.java:302) [spring-beans-4.3.3.RELEASE.jar:4.3.3.RELEASE]at org.springframework.beans.factory.support.AbstractBeanFactory.getBean(AbstractBeanFactory.java:197) [spring-beans-4.3.3.RELEASE.jar:4.3.3.RELEASE]at org.springframework.beans.factory.support.DefaultListableBeanFactory.preInstantiateSingletons(DefaultListableBeanFactory.java:751) [spring-beans-4.3.3.RELEASE.jar:4.3.3.RELEASE]at org.springframework.context.support.AbstractApplicationContext.finishBeanFactoryInitialization(AbstractApplicationContext.java:861) [spring-context-4.3.3.RELEASE.jar:4.3.3.RELEASE]at org.springframework.context.support.AbstractApplicationContext.refresh(AbstractApplicationContext.java:541) [spring-context-4.3.3.RELEASE.jar:4.3.3.RELEASE]at org.springframework.boot.SpringApplication.refresh(SpringApplication.java:761) [spring-boot-1.4.1.RELEASE.jar:1.4.1.RELEASE]at org.springframework.boot.SpringApplication.refreshContext(SpringApplication.java:371) [spring-boot-1.4.1.RELEASE.jar:1.4.1.RELEASE]at org.springframework.boot.SpringApplication.run(SpringApplication.java:315) [spring-boot-1.4.1.RELEASE.jar:1.4.1.RELEASE]

看源碼:


這個值默認是1,也就是rocketmq默認只能一條一條消費。


再看這段,直接判斷范圍,不在0到1024就報錯了。

問題很明顯,但仔細想想這是為什么呢?

為什么這個值不讓超過1024,也就是rocketmq的作者,不希望每批處理的條數超過1024條。

個人猜測

1、如果一批消費太多的話,量可能會有點太大,導致傳輸解析變慢。
2、如果失敗重試,這么多綁在一起,可能就因為某一條出錯,而導致整體重試,所以這個整體也不能太大,否則也是很麻煩的。

創作挑戰賽新人創作獎勵來咯,堅持創作打卡瓜分現金大獎

總結

以上是生活随笔為你收集整理的[错误记录] --- rocketmq批量消费设置参数的问题的全部內容,希望文章能夠幫你解決所遇到的問題。

如果覺得生活随笔網站內容還不錯,歡迎將生活随笔推薦給好友。