使用spring cloud stream配置多个kafka节点,给多个节点发送消息

烟花火的人生 / 2024-10-15 / 原文

1、遇到了个问题,目前使用的是spring cloud stream里的streamBridge给kafka发送消息,但是当对多个kafka节点发送消息的时候,发现不太好搞,在网上找了一下资料,发现也都有些缺失,导致不能用,然后就自己摸索了一下,发现如下配置是可以使用:

    stream:
      default-binder: kafkaname1
      kafka:
        binder:
          brokers: kafka1_IP:kafka1_port;kafka2_IP:kafka2_port
      binders:
        kafkaname1:
          type: kafka
          environment:
            spring:
              cloud:
                stream:
                  kafka:
                    binder:
                      brokers: kafka1_IP:kafka1_port
        kafkaname2:
          type: kafka
          environment:
            spring:
              cloud:
                stream:
                  kafka:
                    binder:
                      brokers: kafka2_IP:kafka2_port
      bindings:
        output1-out-0:
          destination: topic1
          content-type: application/json
output2
-out-0: binder: kafkaname2 destination: topic2 content-type: application/json