Spring Boot中多个Kafka集群上的多个KafkaConsumer

时间:2018-10-09 04:14:21

标签: spring-boot spring-kafka

想使用homogeneous kafka consumers在Spring引导应用程序的不同集群上创建spring-kafka

即要为已经定义的类创建一个Kafka Consumer对象,该对象将侦听动态定义的多个集群。

  

例如:假设一个Spring Boot应用程序S包含   template for kafkaconsumer。有三个卡夫卡集群   custer1,cluster2,cluster3。应用程序S充当以下应用程序的聚合器   每个集群产生的数据。这里的解决方案是   同一模板中的三个consumers将分别监听   聚集在parallel中。

使用spring-kafka是否可以实现上述情况?

1 个答案:

答案 0 :(得分:0)

@KafkaListener不能与多个群集通话。您需要委派给真正的侦听器...

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

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

etc.