Настроить Spring Cloud Task для использования Kafa сервера Spring Cloud Data Flow - PullRequest
0 голосов
/ 27 февраля 2019

У меня сервер Spring Cloud Data Flow (SCDF) работает на Kubernetes cluster с Kafka в качестве посредника сообщений.Сейчас я пытаюсь запустить Spring Cloud Task (SCT), который пишет в тему в Kafka.Я бы хотел, чтобы SCT использовал тот же Kafka, который использует SCDF.Это поднимает два вопроса, которые у меня есть, и надеюсь, что на них можно ответить:

  1. Как настроить SCT для использования того же Kafka, что и SCDF?
  2. Возможно линастроить SCT так, чтобы URI сервера Kafka мог автоматически передаваться в SCT при запуске, аналогично свойствам источника данных, которые передаются в SCT при запуске?

Как я могне найти примеров того, как этого добиться, помощь очень ценится.

Редактировать: Мой собственный ответ

Вот как я работаю в моем случае.Для моего SCT требуется spring.kafka.bootstrap-servers.Из оболочки SCDF я предоставляю его в качестве аргумента --spring.kafka.bootstrap-servers=${KAFKA_SERVICE_HOST}:${KAFKA_SERVICE_PORT}, где KAFKA_SERVICE_HOST и KAFKA_SERVICE_PORT - переменные среды, созданные сценарием установки SCDF k8s.

Это способ запуска задачи в оболочке SCDF

dataflow:>task launch --name sample-task --arguments "--spring.kafka.bootstrap-servers=${KAFKA_SERVICE_HOST}:${KAFKA_SERVICE_PORT}"

1 Ответ

0 голосов
/ 28 февраля 2019

Возможно, вы захотите ознакомиться с разделом Spring Cloud Task Events в справочном руководстве.

Ожидается, что вы выберете предпочитаемый механизм связывания и упакуете эту библиотеку в путь к классам приложения Задачи.С этой зависимостью вы затем сконфигурируете приложение со свойствами связывателя Kafka Spring Cloud Stream , такими как spring.cloud.stream.kafka.binder.brokers и другими, которые имеют отношение к подключению к существующему кластеру Kafka.

После запуска приложения Task (из SCDF) с этими конфигурациями вы сможете публиковать или получать события в своем приложении Task.

В качестве альтернативы, с помощью Kafka-связывателя в пути к классамприложения Task, вы можете определить свойства привязки Kafka для всех задач, запущенных SCDF через глобальную конфигурацию.См. Common Application Properties в исх.руководство для получения дополнительной информации.В этой модели вам не нужно настраивать каждое приложение Task со свойствами Kafka явно, но вместо этого SCDF будет автоматически распространять их при запуске задач.Имейте в виду, что эти свойства будут предоставлены all , запускаемому Задачей.

...