springboot、spring-kafka、kafka-client三者的兼容性关系

spring官方描述的spring-kafka的版本和kafka-clients的版本对应关系:

官方地址:https://spring.io/projects/spring-kafka

springboot、spring-kafka、kafka-client三者的兼容性关系_第1张图片

中间列:“Spring Integration for Apache Kafka Version 可忽略不看:

也就是说spring-kafka与spring-client是存在在一对多关系的,那是不是他所有的spring-client都可以选呢?

接着往下看(摘自官网):

springboot、spring-kafka、kafka-client三者的兼容性关系_第2张图片

他说啥 ?

  1. springboot 1.5 你应该用的是spring-kafka 1.3.x.
  2. springboot2.0你应该使用的是spring-kafka2.0.x.
  3. 如果用的是spring boot2.1.x,那么你必须使用spring-kafka的版本是2.2.x。否则就会出现noClass等等各种异常。
  4. spring-kafka的版本是2.1默认使用的spring-client是1.1.x,当你要使用另外两个时,你就要使用如下的版本配置.
  5. 如果你用的是2.2.x的spring-kafka,只看第一张图,你会以为2.1.x的kafka-clients也可以用。但是spring说了,此时默认用的kafka-clients是2.0.x,如果你想用2.1.x,必须看文档附录,下图的大概意思,必须换掉下图所示的所有依赖版本。

springboot、spring-kafka、kafka-client三者的兼容性关系_第3张图片

也就是说并不是一对多 他默认的还是只有一个kafka-client来给你的,你要选其他的可以的,你添加一些额外配置

例如:

 Spring Boot 2.1.0.RELEASE 版本,因此 spring-kafka 的版本为 2.2.0.RELEASE,kafka-clients 的默认版本为2.0.0,所以 kafka 的版本选用为 kafka_2.11-2.1.0 (前面的2.11代表的是Scala的版本后面为kafka的版本号)

你可能感兴趣的:(kafka)