为两个单独的集群配置Spring Kafka

时间:2020-01-10 16:05:57

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

是否可以将Kafka配置为在单个Spring Boot应用程序中与两个单独的集群一起工作?

用例:我有两个带有副本+ Zookeeper的集群:

  • 集群#1 引导服务器server1.example.com,server2.example.com,server3.example.com
  • 集群#2 引导服务器target-server1.example.com,target-server2.example.com,target-server3.example.com

我需要使用Cluster #1中的消息,然后根据该数据进行一些计算,并将结果生成到Cluster #2主题。有什么方法可以在单个Spring应用程序中配置Kafka来处理这种方法?

1 个答案:

答案 0 :(得分:2)

是的,但是如果要同时使用两者进行生产,则必须手动配置消费者工厂和生产工厂@Bean等。

引导只能从属性中自动配置其中之一。

但是,如果您只是从一个集群中消费而生产到另一个集群,则可以 通过属性来完成。

使用

spring.kafka.producer.bootstrap-servers=...
...
spring.kafka.consumer.bootstrap-servers=...

这些将覆盖通用属性。