【spring cloud stream】spring cloud stream配置多个kafka地址

网上查找了关于配置多个kafka地址的方法,可惜没有找到,在一个博客看到了这个方法,大致方法是对的,但是还是有小错误,导致失败。所以自己修改完亲测有效后,写了这个博客。

spring: 
  cloud:
    stream:
      binders:
        # 接下来的kafka1和kafka2就是两个kafka broker的环境配置,配置完成后可以应用kafka1、kafka2这个定义的名字
        # 在别的地方引用。功能和profile中的dev环境、test环境、prod环境一个意思。
        kafka1:
          type: kafka
          environment:
            spring:
              cloud:
                stream:
                  kafka:
                    binder:
                      brokers: 192.168.5.1:9092
        kafka2:
          type: kafka
          environment:
            spring:
              cloud:
                stream:
                  kafka:
                    binder:
                      brokers: 192.168.5.2:9092
      bindings:
        output_1:
          # 指定使用kafka1的环境
          binder: kafka1
          destination: my_topic_1 
          content-type: application/json 
        output_2:
          # 没有指定,使用默认环境,下面的配置有指定默认环境。
          destination: my_topic_2
          content-type: application/json 
        output_3:
          # 指定使用kafka2的环境
          binder: kafka2
          destination: my_topic_3
          content-type: application/json
      kafka:
        binder:
          # 自动创建不存在的topic
          autoCreateTopics: true
      # 默认使用哪个kafka环境,如下配置是在没有指定kafka环境的时候(如output_2),使用kafka1的配置
      default-binder: kafka1

你可能感兴趣的:(java,开发框架)