rocketmq发送消息遇到system busy

向rocketmq队列发送消息,遇到system busy。提示说让进行流控。这是丢入进mq的速度太快吗?理论上不应该啊。

org.apache.rocketmq.client.exception.MQBrokerException: CODE: 2 DESC: [TIMEOUT_CLEAN_QUEUE]broker busy, start flow control for a while, period in queue: 202ms, size of queue: 6
For more information, please visit the url, http://rocketmq.apache.org/docs/faq/
at org.apache.rocketmq.client.impl.MQClientAPIImpl.processSendResponse(MQClientAPIImpl.java:531)
at org.apache.rocketmq.client.impl.MQClientAPIImpl.sendMessageSync(MQClientAPIImpl.java:345)
at org.apache.rocketmq.client.impl.MQClientAPIImpl.sendMessage(MQClientAPIImpl.java:327)
at org.apache.rocketmq.client.impl.MQClientAPIImpl.sendMessage(MQClientAPIImpl.java:290)
at org.apache.rocketmq.client.impl.producer.DefaultMQProducerImpl.sendKernelImpl(DefaultMQProducerImpl.java:688)
at org.apache.rocketmq.client.impl.producer.DefaultMQProducerImpl.sendDefaultImpl(DefaultMQProducerImpl.java:458)
at org.apache.rocketmq.client.impl.producer.DefaultMQProducerImpl.send(DefaultMQProducerImpl.java:1049)
at org.apache.rocketmq.client.impl.producer.DefaultMQProducerImpl.send(DefaultMQProducerImpl.java:1008)
at org.apache.rocketmq.client.producer.DefaultMQProducer.send(DefaultMQProducer.java:204)
at com.techcenter.msgqueue.rocketmq.producer.DFProducerPipe.send(DFProducerPipe.java:85)
at com.techcenter.msgqueue.rocketmq.producer.DFProducerPipe.send(DFProducerPipe.java:47)
at com.standardsm.channelapi.filter.YtMobileDeductFilter.deduct(YtMobileDeductFilter.java:105)
at com.standardsm.channelapi.filter.YtMobileDeductFilter.dealObject(YtMobileDeductFilter.java:56)
at com.techcenter.util.chain.SimpleCommand.execute(SimpleCommand.java:20)
at org.apache.commons.chain.impl.ChainBase.execute(ChainBase.java:191)
at com.techcenter.msgqueue.SimpleMsgChain.chainExecute(SimpleMsgChain.java:46)
at com.standardsm.channelapi.listener.YtSmsSubmitTopicListener.onMessage(YtSmsSubmitTopicListener.java:61)
at com.standardsm.channelapi.listener.YtSmsSubmitTopicListener.consumeMessage(YtSmsSubmitTopicListener.java:31)
at org.apache.rocketmq.client.impl.consumer.ConsumeMessageConcurrentlyService$ConsumeRequest.run(ConsumeMessageConcurrentlyService.java:419)
at java.util.concurrent.Executors$RunnableAdapter.call(Executors.java:471)
at java.util.concurrent.FutureTask.run(FutureTask.java:262)
at java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1145)
at java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:615)
at java.lang.Thread.run(Thread.java:744)

7个回答

我也遇到此问题了,请问楼主找到原因了吗?

我也遇到此问题了,请问楼主找到原因了吗?

我也遇到此问题了,请问楼主找到原因了吗?

我的解决方案:多起一个或多个consumer即可解决问题

生产者busy,看起来像是积压了。但是我也起了多个消费者,还是busy。目前还是没有解决。加大内存能够暂时解决。

之前用的4.0版本。后来到4.3版本了。用默认配置。没有这个问题了。
这个是解决broker busy的

waitTimeMillsInSendQueue=3000

这个是解决system busy的

osPageCacheBusyTimeOutMills=3000

wcf2010
wcf2010 回复m0_37279607: borker busy通过加大内存,加大超时时间解决,但是system busy无法解决。搞了个逻辑,遇到system busy就丢备份mq或者丢redis。
大约一年之前 回复
m0_37279607
m0_37279607 大佬,现在解决了吗?有没有增加内存之外的方法?
2 年多之前 回复

我使用rocketmq-spring-boot-starter 生产者给 阿里云rocketmq 发消息 报

MQBrokerException: CODE: 1 DESC: com.aliyun.openservices.ons.api.impl.authority.exception.AuthenticationException: get user info by accesskey from ALIYUN failed., com.alibaba.ons.open.auth.service.DauthServiceImpl.signatureValidate(DauthServiceImpl.java:258)
For more information, please visit the url, http://rocketmq.apache.org/docs/faq/

Csdn user default icon
上传中...
上传图片
插入图片
抄袭、复制答案,以达到刷声望分或其他目的的行为,在CSDN问答是严格禁止的,一经发现立刻封号。是时候展现真正的技术了!
立即提问
相关内容推荐