开发者社区 > 云原生 > 云消息队列 > 正文

RocketMQ有个使用场景的问题,怎么解决?

RocketMQ有个使用场景的问题,consumer一直不能注册成功,后台提示RocketMq closeChannel: close the connection to remote address[]
部署情况是这样的,有俩个网络区域,A B之间不通,MQ集群部署在A内(192网段),AB之间靠NAT转发通信,B的consumer需要注册到A,用的是172网段,换衣是因为NAT导致。有没有遇到过类似场景的?

展开
收起
嘟嘟嘟嘟嘟嘟 2023-10-30 13:01:29 106 0
2 条回答
写回答
取消 提交回答
  • 您好,根据描述,您的RocketMQ集群部署在A网络区域(192网段),而B的consumer位于172网段。由于A和B之间存在网络隔离,并且通过NAT进行转发通信,这可能导致了B consumer无法成功注册到A内的MQ集群。以下是一些建议的解决步骤:

    1. 检查防火墙设置:确保A网络区域的防火墙允许来自172网段的流量,并且端口号(通常是10911)是开放的。

    2. NAT配置:在NAT设备上,确保有相应的路由规则或端口映射,将来自172网段的流量转发到A网络区域的MQ集群地址。

    3. 检查RocketMQ配置:确保RocketMQ broker配置文件中namesrvAddr指向的是A网络区域的正确地址。

    4. 使用RocketMQ提供的命令行工具:您可以尝试使用mqadmin命令行工具来检查consumer是否能够正常注册。如果可以注册,但仍然无法消费消息,那么问题可能与具体的业务逻辑或其他配置有关。

    5. 监控和排查工具:考虑使用RocketMQ-Dashboard或其他第三方工具来帮助监控和排查问题。

    2023-10-30 14:44:30
    赞同 展开评论 打赏
  • 强制把consumer的ip改成broker可以访问的。
    此回答整理自钉群“群2-Apache RocketMQ 中国开发者钉钉群”

    2023-10-30 13:15:09
    赞同 展开评论 打赏

涵盖 RocketMQ、Kafka、RabbitMQ、MQTT、轻量消息队列(原MNS) 的消息队列产品体系,全系产品 Serverless 化。RocketMQ 一站式学习:https://rocketmq.io/

相关电子书

更多
低代码开发师(初级)实战教程 立即下载
冬季实战营第三期:MySQL数据库进阶实战 立即下载
阿里巴巴DevOps 最佳实践手册 立即下载