在RocketMQ中按文档5.0操作客户端报错,看客户端注释写的是连proxy,而不是namesrv了?docker run -d --net host-net --name rmqnamesrv -p 9876:9876 apache/rocketmq:5.2.0 sh mqnamesrvdocker run -d --name rmqbroker --net host-net -p 10912:10912 -p 10911:10911 -p 10909:10909 -p 8080:8080 -p 8081:8081 -e "NAMESRV_ADDR=rmqnamesrv:9876" -v ./broker.conf:/home/rocketmq/rocketmq-5.2.0/conf/broker.conf \apache/rocketmq:5.2.0 sh mqbroker --enable-proxy -c /home/rocketmq/rocketmq-5.2.0/conf/broker.conf。请参考图片:
一般是地址不通, 试试telnet 看看。此回答整理来自钉群“群1-Apache RocketMQ 中国开发者钉钉群”。
RocketMQ Proxy新特性,它作为一个可选的高性能代理层,位于客户端与NameServer/Broker之间,吞吐量高、延迟低。你的错误是因为Broker端启用了Proxy模式而你的客户端代码还是按照旧的方式直接连接到NameServer地址结果就是报错了!回答不易请采纳
这是一个新的特性,旨在简化客户端连接到 RocketMQ 集群的过程
客户端可以直接连接到 Proxy,由 Proxy 负责转发消息到 Broker,同时 Proxy 也提供了服务发现的功能。
检查客户端的配置,确保它指向了正确的 Proxy 地址。在 5.x 版本中,你可能需要更新客户端配置,使用 Proxy 地址而不是 NameServer 地址。
版权声明:本文内容由阿里云实名注册用户自发贡献,版权归原作者所有,阿里云开发者社区不拥有其著作权,亦不承担相应法律责任。具体规则请查看《阿里云开发者社区用户服务协议》和《阿里云开发者社区知识产权保护指引》。如果您发现本社区中有涉嫌抄袭的内容,填写侵权投诉表单进行举报,一经查实,本社区将立刻删除涉嫌侵权内容。
涵盖 RocketMQ、Kafka、RabbitMQ、MQTT、轻量消息队列(原MNS) 的消息队列产品体系,全系产品 Serverless 化。RocketMQ 一站式学习:https://rocketmq.io/