其他分享
首页 > 其他分享> > springcloudStream集成Kafka遇到的问题

springcloudStream集成Kafka遇到的问题

作者:互联网

最近做kafka存储文件类型的信息的项目,遇到两个问题一个是springcloudstream的版本问题,这个问题只需要注意在引入maven依赖的时候不添加version就可以避免,把版本管理问题交给

springcloud来管理,比如我用的是--<spring.cloud.version>Hoxton.SR12</spring.cloud.version>

<spring.cloud.alibaba.version>2.2.7.RELEASE</spring.cloud.alibaba.version>。

<dependency>
  <groupId>org.springframework.cloud</groupId>
  <artifactId>spring-cloud-stream-binder-kafka</artifactId>
</dependency>

引入依赖之后就需要配置配置文件:

spring.cloud==这里省去上两层
stream:
      kafka:
        binder:
          producerProperties:
            max:
              request:
                size: 209715200 
          brokers: 127.0.0.1:9092
          auto-create-topics: true
      bindings:
        input-in-0:
          destination: testquickstart
          group: myinput1
        output:
          destination: testquickstart
        consu-in-0:
          destination: testquickstart2
          group: consu
        echo-in-0:
          destination: testquickstart
          group: echo
        echo-out-0:
          destination: testquickstart2
      function:
        definition: echo;input;consu

这里遇到一个

---大文件报错:
org.apache.kafka.common.errors.RecordTooLargeException: The message is 17108616 bytes when serialized which is larger than 1048576, which is the value of the max.request.size configuration.

实际就是添加上下面的配置就可以了。

producerProperties:
            max:
              request:
                size: 209715200 

在kafka中存放文件类型的消息,是将文件二进制流进行base64编码,来传送的。

参见spring官网。

标签:集成,springcloudStream,group,consu,destination,testquickstart,kafka,echo,Kafka
来源: https://www.cnblogs.com/zhangdanyang95/p/16378619.html