当前位置:   article > 正文

kafka客户端id重复:javax.management.InstanceAlreadyExistsException:kafka_同一kafka集群下 clientid可以重复吗

同一kafka集群下 clientid可以重复吗

1.先看代码

不断的去创建kafka发送客户端

客户端id,我们指定的cliendId是固定的,在并发量小的时候,

创建kafka客户端,指定客户端id,销毁,正常。

但并发量大的时候,可能出现上创建cliendId的客户端服务没有来得及销毁,又重新创建了一个

2.解决方案,1.不指定固定的clientid,2.保证每一建立连接的clientID唯一,3.把创建clientId的客户端服务做成一个单例

目前采用第三种

  1. import org.springframework.beans.factory.annotation.Value;
  2. import org.springframework.context.annotation.Bean;
  3. import org.springframework.context.annotation.Configuration;
  4. @Configuration
  5. public class RuleKafkaConfig {
  6. @Value("${zsf.boot.kafka.rule.servers:}")
  7. public String address;
  8. @Value("${zsf.boot.kafka.rule.topic:}")
  9. public String topicName;
  10. @Bean
  11. public KafkaProducerClient kafkaConfigClient() {
  12. KafkaProduceConfig config = new KafkaProduceConfig(address, topicName);
  13. KafkaProducerClient producer = new KafkaProducerClient(config);
  14. producer.start();
  15. return producer;
  16. }
  17. }

声明:本文内容由网友自发贡献,转载请注明出处:【wpsshop博客】
推荐阅读
相关标签
  

闽ICP备14008679号