Несколько KafkaConsumer на нескольких кластеров Kafka в весенней загрузке

Хочу создать homogeneous kafka consumers на разных кластерах из загрузочного приложения Spring с помощью spring-kafka,

т.е. хотите создать объект Kafka Consumer для определенного класса, который прослушивает несколько кластеров, определенных динамически.

Например: допустим, загрузочное приложение Spring S, которое содержит template for kafkaconsumer, И есть три кластера Kafka custer1, cluster2, cluster3. Приложение S действует как агрегатор данных, полученных от каждого кластера. Здесь решение будет три consumers одного и того же шаблона будет прослушивать отдельные кластеры в parallel,

Возможен ли приведенный выше сценарий с использованием Spring-Kafka?

1 ответ

@KafkaListener не может общаться с несколькими кластерами. Вам нужно будет делегировать реальный слушатель...

@KafkaListener(..., containerFactory="cluster1Factory")
public void listen1(...) {
    this.delegate.listen(...);
}

@KafkaListener(..., containerFactory="cluster2Factory")
public void listen2(...) {
    this.delegate.listen(...);
}

etc.
Другие вопросы по тегам