赞
踩
1.先看代码
不断的去创建kafka发送客户端
客户端id,我们指定的cliendId是固定的,在并发量小的时候,
创建kafka客户端,指定客户端id,销毁,正常。
但并发量大的时候,可能出现上创建cliendId的客户端服务没有来得及销毁,又重新创建了一个
2.解决方案,1.不指定固定的clientid,2.保证每一建立连接的clientID唯一,3.把创建clientId的客户端服务做成一个单例
目前采用第三种
-
- import org.springframework.beans.factory.annotation.Value;
- import org.springframework.context.annotation.Bean;
- import org.springframework.context.annotation.Configuration;
-
-
- @Configuration
- public class RuleKafkaConfig {
- @Value("${zsf.boot.kafka.rule.servers:}")
- public String address;
- @Value("${zsf.boot.kafka.rule.topic:}")
- public String topicName;
- @Bean
- public KafkaProducerClient kafkaConfigClient() {
- KafkaProduceConfig config = new KafkaProduceConfig(address, topicName);
- KafkaProducerClient producer = new KafkaProducerClient(config);
- producer.start();
- return producer;
- }
- }
Copyright © 2003-2013 www.wpsshop.cn 版权所有,并保留所有权利。