Spring 具有多个 Kafka 绑定器的 Cloud Dataflow

Spring Cloud Dataflow with multiple Kafka binders

我正在尝试使用 Spring Cloud Dataflow 通过 Bridge 应用桥接两个 Kafka 集群(本质上是一个奇特的 MirrorMaker 实例)。正如文档中所述,我定义了两个活页夹。 Kafka-qa1 应该是默认值,并且可以在定义或部署属性中提供 kafka-qa2 作为输出绑定器,例如: app.bridge.spring.cloud.stream.bindings.output.binder=kafka-qa2

我的 SCDF application.yaml 包含两个活页夹:

spring:
  cloud:
    dataflow:
      applicationProperties:
        stream:
          spring:
            cloud:
              stream:
                defaultBinder: kafka-qa1
                binders:
                  kafka-qa1:
                    type: kafka
                    environment:
                      spring:
                        brokers: qa-1.example.com:9093
                        zk-nodes: qa-1.example.com:2181
                  kafka-qa2:
                    type: kafka
                    environment:
                      spring:
                        brokers: qa-2.example.com:9093
                        zk-nodes: qa-2.example.com:2181

但是它似乎忽略了输出活页夹。我还在我的配置中保留了与单个活页夹一起使用的部分(如下)。如果我删除它,defaultBinder 选项似乎不起作用,它会恢复到本地主机。

kafka:
 binder:
  brokers: qa-1.example.com:9093

关于使用 Bridge 应用程序连接多个 Kafka 集群,有什么想法或示例可以向我指出吗?

environment 令牌似乎缺少 brokerszk-nodesspring.cloud.stream.kafka.binder 前缀。请看下面。

spring.cloud.dataflow.applicationProperties.stream.spring.cloud.stream.binders.kafka-qa1.type=kafka

spring.cloud.dataflow.applicationProperties.stream.spring.cloud.stream.binders.kafka-qa1.environment.spring.cloud.stream.kafka.binder.brokers=qa-1.example.com:9093

spring.cloud.dataflow.applicationProperties.stream.spring.cloud.stream.binders.kafka-qa1.environment.spring.cloud.stream.kafka.binder.zkNodes=qa-1.example.com:2181

spring.cloud.dataflow.applicationProperties.stream.spring.cloud.stream.binders.kafka2.type=kafka

spring.cloud.dataflow.applicationProperties.stream.spring.cloud.stream.binders.kafka-qa2.environment.spring.cloud.stream.kafka.binder.brokers=qa-2.example.com:9093

spring.cloud.dataflow.applicationProperties.stream.spring.cloud.stream.binders.kafka-qa2.environment.spring.cloud.stream.kafka.binder.zkNodes=qa-2.example.com:2181