在Kafka 0.10.2.0之前,Kafka服务器端和客户端版本之间的兼容性是“单向”的,即高版本的broker可以处理低版本client的请求。反过来,低版本的broker不能处理高版本client的请求。由于升级client要远比升级broker简单得多,因此这个限制给很多用户带来了麻烦,甚至有很多人都不愿意去升级broker版本——毕竟无downtime的情况下正确升级Kafka服务器是个不小的挑战。自0.10.2.0版本开始,社区对这个问题进行了优化,0.10.2.0之后用户可以简单地升级client端代码到这个版本就可以很容易地实现与低版本Kafka服务器的交互了。
spring kafka版本关系表:
Spring for Apache Kafka Version | Spring Integration for Apache Kafka Version | kafka-clients |
Spring Boot |
---|---|---|---|
3.0.x | 6.0.x | 3.3.2 | 3.0.x |
2.9.x | 5.5.x | 3.2.3 | 2.7.x (not managed) |
2.8.x | 5.5.x | 3.0.0 | 2.6.x or 2.7.x (not managed) |
2.7.x | 5.5.x | 2.7.0 - 2.8.1 | 2.4.x or 2.5.x (End of Life) |
2.6.x | 5.3.x or 5.4.x | 2.6.0 - 2.8.1 | 2.3.x or 2.4.x (End of Life) |
2.5.x | 3.3.x | 2.5.1 - 2.8.1 | 2.3.x (End of Life) |
2.4.x | 3.2.x | 2.4.1 | 2.2.x (End of Life) |
2.3.x | 3.2.x | 2.3.1 | 2.2.x (End of Life) |
2.2.x | 3.1.x | 2.0.1, 2.1.x, 2.2.x | 2.1.x (End of Life) |
2.1.x | 3.0.x | 1.0.2 | 2.0.x (End of Life) |
1.3.x | 2.3.x | 0.11.0.x, 1.0.x | 1.5.x (End of Life) |