RocketMQ 里有多台nameserver 只要一台nameserver机器ip不存在了,发送端和消费端就无法启动了,但是ip存在端口不在还是可以启动成功的,我们看了一下源码的确如此,是不是设计上有缺陷?
RocketMQ的设计中确实存在这个缺陷。在RocketMQ中,NameServer是用于管理Topic路由信息和Broker状态的组件,如果发送端和消费端无法连接到NameServer,则无法启动。
然而,即使IP地址存在,端口号不正确也会导致连接失败。这可能会导致一些意外的问题,例如当NameServer的端口被更改时,需要重新启动所有使用该NameServer的客户端才能使其正常工作。
因此,建议在使用RocketMQ时,确保NameServer的IP地址和端口号正确无误,并且及时更新客户端的配置以适应任何更改。
版权声明:本文内容由阿里云实名注册用户自发贡献,版权归原作者所有,阿里云开发者社区不拥有其著作权,亦不承担相应法律责任。具体规则请查看《阿里云开发者社区用户服务协议》和《阿里云开发者社区知识产权保护指引》。如果您发现本社区中有涉嫌抄袭的内容,填写侵权投诉表单进行举报,一经查实,本社区将立刻删除涉嫌侵权内容。
涵盖 RocketMQ、Kafka、RabbitMQ、MQTT、轻量消息队列(原MNS) 的消息队列产品体系,全系产品 Serverless 化。RocketMQ 一站式学习:https://rocketmq.io/