一:问题场景

公司在部署全球的RocketMQ的时候,遇到亚洲区的服务器往欧洲区的RocketMQ发送消息失败的情况。

总共有出现两个问题

1:No Topic Route Info

org.apache.rocketmq.client.exception.MQClientException: No route info for this topic, Producer_Test
For more information, please visit the url, http://rocketmq.apache.org/docs/faq/
at org.apache.rocketmq.client.impl.producer.DefaultMQProducerImpl.sendSelectImpl(DefaultMQProducerImpl.java:920)
at org.apache.rocketmq.client.impl.producer.DefaultMQProducerImpl.send(DefaultMQProducerImpl.java:891)
at org.apache.rocketmq.client.producer.DefaultMQProducer.send(DefaultMQProducer.java:409)

2:connect to <xxx.xxx.xxx.xxx:10911> failed

org.apache.rocketmq.remoting.exception.RemotingConnectException: connect to <xxx.xxx.xxx.xxx:10911> failed
at org.apache.rocketmq.remoting.netty.NettyRemotingClient.invokeSync(NettyRemotingClient.java:388)
at org.apache.rocketmq.client.impl.MQClientAPIImpl.sendMessageSync(MQClientAPIImpl.java:351)
at org.apache.rocketmq.client.impl.MQClientAPIImpl.sendMessage(MQClientAPIImpl.java:335)
at org.apache.rocketmq.client.impl.MQClientAPIImpl.sendMessage(MQClientAPIImpl.java:298)
at org.apache.rocketmq.client.impl.producer.DefaultMQProducerImpl.sendKernelImpl(DefaultMQProducerImpl.java:696)
at org.apache.rocketmq.client.impl.producer.DefaultMQProducerImpl.sendSelectImpl(DefaultMQProducerImpl.java:914)
at org.apache.rocketmq.client.impl.producer.DefaultMQProducerImpl.send(DefaultMQProducerImpl.java:891)

三:解决思路

1:问题一通过查看注册上的nameSrvAddr发现配置的host没有注册在/etc/hosts下面。导致无法解析地址,运维直接把地址改成IP后解决。

但理论上在/etc/hosts中配置上相应的hosts信息也是可以的。

2:问题2是报 brokerIP:brokerPort 连接不上。那么说明broker已经通过nameSrv成功寻址到了,只是寻址到的broker无法正常连接。

通过查看启动配置文件和broker的日志发现,注册的brokerIP是集群内网地址。那么问题就变成了服务器之间的通信问题了。

然后想到全球之间的IDC之间应该是没有互相通信的。问了一下运维,确实如此。亚洲区的集群和欧洲区的集群之间是没有通信的。

因此把broker配置文件里面的brokerIP改成 外网地址,重启一下,测试成功。

最新文章

  1. mvc action controller area
  2. DOM--3 DOM核心和DOM2 HTML(1)
  3. 百度地图API示例之设置地图显示范围
  4. [转]artDialog
  5. Android短信监听软件
  6. 点分治练习: boatherds
  7. 评论一下现有几个开源IM框架(Msn/QQ/Fetion/Gtalk...)
  8. Ch02 从零开始实例学习3
  9. hdu1495(bfs)
  10. 巩固java(一)----java与对象
  11. 【BZOJ3157/3516】国王奇遇记(数论)
  12. Unity3D动态生成多边形
  13. Nginx的进程模型及高可用方案(OpenResty)
  14. 【Entity Framework】Revert the database to specified migration.
  15. fabric-ca1.03安装
  16. render函数的简单使用
  17. Android-Kotlin-抽象类与多态的表现
  18. bzoj千题计划260:bzoj2940: [Poi2000]条纹
  19. Codeforces Round #540 Tanya and Candies 预处理
  20. Syntax error on token(s), misplaced construct(s)

热门文章

  1. bzoj——2982: combination
  2. RAC fail over 测试
  3. TDSTCPServerTransport 的Filters
  4. Open Flash Chart图表的JSON格式基本属性详解
  5. 微軟将弃用 System.Data.OracleClient
  6. Lucene.Net 与 盘古分词
  7. Scala入门到精通——第十五节 Case Class与模式匹配(二)
  8. Windows 注册表常用操作
  9. JQuery之操作array
  10. 装饰者模式的学习(c#) EF SaveChanges() 报错(转载) C# 四舍五入 保留两位小数(转载) DataGridView样式生成器使用说明 MSSQL如何将查询结果拼接成字符串 快递查询 C# 通过smtp直接发送邮件 C# 带参访问接口,WebClient方式 C# 发送手机短信 文件 日志 写入 与读取