RocketMQ报错defaultMQProducer send exception

使用RocketMQ报错defaultMQProducer send exception,详情如下:

Caused by: com.aliyun.openservices.ons.api.exception.ONSClientException: defaultMQProducer send exception
at com.aliyun.openservices.ons.api.impl.rocketmq.ProducerImpl.checkProducerException(ProducerImpl.java:315)
at com.aliyun.openservices.ons.api.impl.rocketmq.ProducerImpl.send(ProducerImpl.java:165)
at io.terminus.common.rocketmq.producer.ONSProducer.doSend(ONSProducer.java:44)
... 123 common frames omitted

Caused by: com.aliyun.openservices.shade.com.alibaba.rocketmq.client.exception.MQBrokerException: CODE: 215  DESC: ClusterName rocketmq-proxy-rmq-cn-pe33fy7x905 send topic TRADING messages flow control, flow limit threshold is 1000, remainMs 8
For more information, please visit the url, http://rocketmq.apache.org/docs/faq/

使用的是ONS,其实就是RocketMQ的商业版。

主要关注下面这一段就行:

flow limit threshold is 1000, remainMs 8

RocketMQ发生了限流。

商业版ONS解决

举例:限制的阀值为1000TPS
解释:阿里这里的限流限的不是某一个topic,而是整个实例。

第一种方法:
阀值为1000,那么收发消息总的为2000,如果对于消息时效性不是特别强的话,可以将发消息调大一些,消费消息小一些。

第二种方法:
没啥可说的,只能加钱

私有RocketMQ

调整配置即可。

你可能感兴趣的:(工作中问题,rocketmq)