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)

终于彻底解决了。
https://www.cnblogs.com/enenen/p/10138511.html

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

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

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

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

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

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

waitTimeMillsInSendQueue=3000

这个是解决system busy的

osPageCacheBusyTimeOutMills=3000

我使用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/