RocketMq發送消息出現com.alibaba.rocketmq.client.exception.MQBrokerException: CODE: 2 DESC: [TIMEOUT_CLEAN_QUEUE]broker busy, start flow control for a while, period in queue: 201ms, size of queue: 1


最近對系統進行壓測,發現發送消息到消息隊列的時候出現如下錯誤:

com.alibaba.rocketmq.client.exception.MQBrokerException: CODE: 2  DESC: [TIMEOUT_CLEAN_QUEUE]broker busy, start flow control for a while, period in queue: 201ms, size of queue: 1

 

經查詢發現RocketMq在4.1版本以后為producer增加了2個配置, 默認配置這兩個參數分別是1和false,將他們配置成 64 和true,就能解決問題

 

#發送消息的最大線程數
sendMessageThreadPoolNums: 64  #large thread numbers
#發送消息是否使用可重入鎖
useReentrantLockWhenPutMessage: true

 

該配置可以在spring配置中設置,也可以在RocketMq集群機器上配置

如果還是會出現此問題,就需要調整RocketMq集群機器配置:

waitTimeMillsInSendQueue  = 300  #或者更大

然后重啟集群


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM