记在使用rocketmq client客户端过程中踩到的坑

前言

最近项目中使用阿里的RocketMQ来做消息队列,具体怎么使用RocketMQ不在本文讨论范围之内,其相关帮助文档可以参考如下链接

https://help.aliyun.com/product/29530.html

本文主要记录在使用rocketmq client时,遇到的一些坑,作者采用的客户端版本是4.5.0

踩到的坑

No route info of this topic

遇到这种情况的原因可能有

1、Broker禁止自动创建Topic,且用户没有通过手工方式创建Topic

解决方案

在启动broker时加上autoCreateTopicEnable=true,如果是用broker.conf启动,或者集群使用broker-*启动,形如:

nohup sh /oa/other/rocketmq/bin/mqbroker -c /oa/other/rocketmq/conf/2m-noslave/broker-a.properties >/dev/null 2>&1 &

broker-a.properties配置文件中加入

autoCreateTopicEnable=true

2、Broker没有正确连接到Name Server

解决方案

查看broker.log日志信息

3、Producer没有正确连接到Name Server

解决方案

切换到rocketmq的bin目录,执行

sh mqadmin clusterList -n 安装rocketmqip地址:9876

如果出现

#Cluster Name     #Broker Name    #BID  #Addr         #Version           #InTPS(LOAD)       #OutTPS(LOAD) #PCWait(ms)  #Hour     #SPACE
DefaultCluster    broker-a        0     ip:10911      V4_5_0_SNAPSHOT    0.00(0,0ms)        0.00(0,0ms)   0 4          29243.32  0.2995

说明正常连接

4、防火墙原因

解决方案

关闭防火墙(生产环境不建议),开放rocketmq的相应端口,或者加入相应的可以访问rocketmq的ip

5、topic的长度过长

这个有待验证

connect to failed

产生原因

rocketmq默认开启了vip通道

解决方案

在客户端代码层面加入

producer.setVipChannelEnabled(false);
consumer.setVipChannelEnabled(false);

Send [3] times, still failed, cost [575]ms, Topic: Name, BrokersSent: [broker-a, broker-a, null]

2021-01-06 12:11:49.531 [ok-cloud-payment-channel][ ERROR] [3550] [nio-8850-exec-5] [5dc31eff8580fe06] [3edd0a589ccc2355] [true] --- [ok.cloud.payment.channel.helper.MQHelper] [sendPaymentCallbackMQ] [106] : MQ send exception Send [3] times, still failed, cost [11]ms, Topic: Topic_Channel_Callback, BrokersSent: [TEST-V101, TEST-V102, TEST-V103]
See http://rocketmq.apache.org/docs/faq/ for further details.

1、如果出现开始发送消息成功,消费者接收消息后,再发送消息的话,出现上诉异常,则有很大概率是机器磁盘空间不足

解决方案

(1)df -lh查看磁盘空间大小
(2)top查看%MEM%占用前五的进程
(3)按需删除没用的磁盘空间

2、检查网络是否畅通

消息队列网络方面的排查,请参考:http://help.aliyun.com/knowledge_detail/6671409.html

3、如果是使用虚拟机,可能虚拟机中的网络太多,rocketMQ在自动识别网络的时候识别错误

解决方案

可以把其他网络down掉,或者把想用的那个网让它排在前面

版权声明:
作者:Joe.Ye
链接:https://www.appblog.cn/index.php/2023/03/26/note-pitfalls-encountered-during-the-use-of-rocketmq-client-client/
来源:APP全栈技术分享
文章版权归作者所有,未经允许请勿转载。

THE END
分享
二维码
打赏
海报
记在使用rocketmq client客户端过程中踩到的坑
前言 最近项目中使用阿里的RocketMQ来做消息队列,具体怎么使用RocketMQ不在本文讨论范围之内,其相关帮助文档可以参考如下链接 https://help.aliyun.com/pro……
<<上一篇
下一篇>>
文章目录
关闭
目 录