您现在的位置是: 首页 > 后端开发 RocketMQ 出现 sendDefaultImpl call timeout 问题

RocketMQ 出现 sendDefaultImpl call timeout 问题

2020-05-30 后端开发 8180人已围观 36275次浏览

简介RocketMQ 出现 sendDefaultImpl call timeout,No route info of this topic: 问题

RocketMQ 出现 sendDefaultImpl call timeout 问题

出现此类问题,一般都是因为网络连接异常导致,比如 RocketMQ 和应用程序不在同一台服务器上,出现端口不通的情况,还有就是 RocketMQ 公网部署,连接超时出现

解决方案就是检查服务器端口连通情况(开放防火墙端口或临时关闭防火墙)

 

出现的另一个问题

No route info of this topic: testTopic
See http://rocketmq.apache.org/docs/faq/ for further details.

出现该问题一般是以下两种情况

  1. broker 无法连接到 nameserver 
  2. broker 禁止自动创建 Topic,并且也没有手动创建 Topic 的情况

出现第一种情况,一般是在 docker 中部署会出现的情况,因为没有指定 IP,导致启动起来的 broker 是 docker 内网 IP

解决方案就是在 broker 的配置文件中,新增下面的参数

brokerIP1=你的内网IP
listenPort=10911

之后重新启动 broker 即可

第二种情况分两种解决方案,最简单的方式就是在 broker 的配置文件中,新增自动创建 topic 的配置

# 是否允许 Broker 自动创建Topic,建议线下开启,线上关闭
autoCreateTopicEnable=true
# 是否允许 Broker 自动创建订阅组,建议线下开启,线上关闭
autoCreateSubscriptionGroup=true

但是这种方案在生产环境不是很建议,如果只是测试调试,这种方案是最简单的。

另一种就是启动 broker 之后,手动创建 topic ,同样也可以解决

很赞哦! (0)

站长推荐

站点信息

  • 网站地图