在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) |