【问题标题】:Kafka Producer SSL properties for YAML fileYAML 文件的 Kafka Producer SSL 属性
【发布时间】:2020-11-26 12:42:30
【问题描述】:

这是 YAML 文件中的 Kafka Producer 属性。 当我启用 SSL 时,我的 kafka 生产者不起作用。它无法识别代理上的主题。但是当我使用 PLAINTEXT 时,我的 kafka 生产者工作正常。 我是否缺少 SSL 配置的内容。

PS:对于 SSL 和 PLAINTEXT,Bootsrap 服务器是不同的。

spring:
   kafka:
      producer:
        bootstrap-servers: <server name>
        properties:
          acks: all
          retries: 3 
          retry.backoff.ms: 200000
      ssl.protocol: SSL
      ssl.endpoint.identification.algorithm: https 
      ssl:
        keystore-location: keystore.jks
        keystore-password: password

这是我的 Kafka Producer 配置

@Bean
    public ProducerFactory<String, JsonMessage> producerFactory() {
        Map<String, Object> config = new HashMap<>();

        config.put(ProducerConfig.BOOTSTRAP_SERVERS_CONFIG, bootstrapServers);
        config.put(ProducerConfig.KEY_SERIALIZER_CLASS_CONFIG, StringSerializer.class);
        config.put(ProducerConfig.VALUE_SERIALIZER_CLASS_CONFIG, JsonSerializer.class);
        config.put(ProducerConfig.ACKS_CONFIG, acks);
        config.put(ProducerConfig.RETRIES_CONFIG, retries);
        config.put(ProducerConfig.RETRY_BACKOFF_MS_CONFIG, retryBackoffMs);
        
        


        return new DefaultKafkaProducerFactory<>(config);
    }

    @Bean
    public KafkaTemplate<String, JsonMessage> kafkaTemplate() {
        return new KafkaTemplate<>(producerFactory());
    }

这是在 spring boot 控制台上为 kafka prodcuer 返回的值

ssl.keystore.location = null
ssl.keystore.password = null
ssl.keystore.type = JKS
ssl.protocol = TLS
ssl.provider = null
 ssl.secure.random.implementation = null

【问题讨论】:

    标签: spring-boot apache-kafka spring-kafka kafka-producer-api


    【解决方案1】:

    您正在创建自己的ProducerFactory bean,因此application.yml 中的属性不会被使用; Boot 在自动配置其 bean 时会使用这些属性。

    您需要自己在 producerFactory() bean 中设置 SSL 属性。

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 2018-09-22
      • 2021-08-20
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2020-12-17
      • 2020-10-29
      • 2016-01-21
      相关资源
      最近更新 更多