RocketMQ 同一JVM实例启动多个不同NameServer 对应的Producer导致NameServer只连上一个的问题

Beaver_uic 发布于 2018/10/18 11:35
阅读 1K+
收藏 0

【Gopher China万字分享】华为云的Go语言云原生实战经验!>>>

现在对原业务RocketMQ的NameServer连接方式更改,之前业务方写的NameServer地址列表,现在我们架构组为了维护统一更改成域名的形式,而且涉及到迁移新RocketMQ集群,同时保留生产者向新老RocketMQ集群发送消息,发送的比例由配置中心控制。所以对其业务方项目的生产者必须提供连接新老NameServer的两个生产者,业务方初始化生产者的代码不变,只是初始化两个不同配置NameServer的生产者:

DefaultMQProducer defaultMQProducer = new DefaultMQProducer();
defaultMQProducer.setProducerGroup(producerGroup);
defaultMQProducer.setNamesrvAddr(RocketMQConfig.getNameServer());
defaultMQProducer.setDefaultTopicQueueNums(queueNum);
defaultMQProducer.start();
      代码更改完,必须要测试一把,测试过程中,按照不同比例向其新老集群发送消息,出现的问题是:每次只能向某个集群发送消息,跟踪代码查找问题:

 

解决:https://blog.csdn.net/doctor_who2004/article/details/83120396
--------------------- 
作者:A_Beaver 
来源:CSDN 
原文:https://blog.csdn.net/doctor_who2004/article/details/83120396 
版权声明:本文为博主原创文章,转载请附上博文链接!

加载中
返回顶部
顶部