Spring cloud Kafka несколько брокеров с SSL

#spring-boot #spring-kafka #spring-cloud-stream-binder-kafka

#пружинный ботинок #весна-кафка #spring-cloud-stream-binder-kafka

Вопрос:

В моем проекте мне нужно подключиться к двум разным брокерам Kafka через SSL

Мое заявление.yml выглядит примерно так:

 spring:  cloud:  stream:  binders:  kafka-1:  type: kafka  environment:  spring:  cloud:  stream:  kafka:  binder:  brokers: *url-1*  kafka-2:  type: kafka  environment:  spring:  cloud:  stream:  kafka:  binder:  brokers: *url-2*  

Это работает, если нет необходимости в авторизации на сервере kafka.

Но дело в том, что мне нужно использовать разные настройки SSL для них обоих!

Единственное свойство, в котором я нашел возможность использовать разные настройки ssl, — это:

 spring:  kafka:  producer:  ssl:  trust-store-location: ...  ...  consumer:  ssl:  trust-store-location: ...  ...  

но это не работает в моем случае и тоже не имеет никакого смысла

Ответ №1:

Вам нужно поместить их под каждый environment узел в YAML.

Ответ №2:

Благодаря Гэри Расселу я закончил с такими рабочими объектами, как этот:

 spring:  cloud:  stream:  binders:  kafka-1:  type: kafka  environment:  spring:  kafka:  ssl:  protocol: SSL  key-store-location:...  key-password:...  trust-store-location:...  trust-store-password:...  cloud:  stream:  kafka:  binder:  confuguration:  security.protocol: SSL  ssl.endpoint.identification.algorithm: ''  brokers: *url-1*  kafka-2:  type: kafka  environment:  spring:  cloud:  stream:  kafka:  binder:  brokers: *url-2*