在远程kafka云集群中,kafka代理将更新为新版本(5.1),因此将应用新的kafka协议。
现在,我应该将我的kafka客户端更新为可以连接。现在,我在spring-boot应用程序中使用以下与kafka相关的依赖项:
<groupId>org.springframework.boot</groupId>
<artifactId>spring-boot-parent</artifactId>
<version>1.3.8.RELEASE</version>
<groupId>org.springframework.integration</groupId>
<artifactId>spring-integration-kafka</artifactId>
<version>2.0.1.RELEASE</version>
<groupId>org.springframework.kafka</groupId>
<artifactId>spring-kafka-test</artifactId>
<version>1.0.3.RELEASE</version>
<groupId>org.springframework.kafka</groupId>
<artifactId>spring-kafka</artifactId>
<version>1.0.3.RELEASE</version>
<groupId>org.apache.kafka</groupId>
<artifactId>kafka-clients</artifactId>
<version>0.9.0.1</version>
<groupId>org.apache.kafka</groupId>
<artifactId>kafka_2.11</artifactId>
<version>0.9.0.1</version>
我已经为kafka-clients和kafka-brokers寻找了合适的兼容性矩阵。
答案 0 :(得分:5)
来自https://github.com/spring-cloud/spring-cloud-stream/wiki/Kafka-Client-Compatibility
+--------+--------------+------------------+---------------+-------------+
| Spring | Spring for | Spring | kafka-clients | Kafka |
| Cloud | Apache Kafka | Integration | | Broker |
| Stream | | for Apache Kafka | | |
+--------+--------------+------------------+---------------+-------------+
| 2.1.x | 2.2.x | 3.1.x | 2.0.0, | 2.0.0, |
| | | | 1.1.x, | 1.1.x, |
| | | | 1.0.x(*) | 1.0.x, |
| | | | | 0.11.0.x(*) |
+--------+--------------+------------------+---------------+-------------+
| 2.0.x | 2.1.x | 3.0.x | 1.1.x, | 1.1.x, |
| | | | 1.0.x(*) | 1.0.x, |
| | | | | 0.11.0.x(*) |
+--------+--------------+------------------+---------------+-------------+
| 1.3.x | 1.3.x, | 2.3.x, | 0.11.0.x(**), | 0.10.x.x |
| | 1.2.x, | 2.2.x, | 0.10.2.x | or higher |
| | 1.1.x | 2.1.x | | |
+--------+--------------+------------------+---------------+-------------+
| 1.2.x | 1.2.x, | 2.2.x, | 0.10.1.x | 0.10.x.x |
| | 1.1.x | 2.1.x | | or higher |
+--------+--------------+------------------+---------------+-------------+
答案 1 :(得分:0)
在confluent matrix上有一个指向Spring for Apache Kafka project page的链接(以及spring-kafka / kafka-clients兼容性)。
0.9非常非常老。
通常,低于0.10.2.0的客户/经纪人可以互相交谈,但是如果记录具有标头,则需要> = 0.11.0.0的客户。
答案 2 :(得分:0)
现在支持双向客户端兼容性,您不再需要担心兼容性矩阵,对于启用 KIP-35 的客户端,任何版本都很好,KIP-35 是从 Broker 协议发布的 - 0.10.0,Java 客户端- 0.10.2
参考:
https://cwiki.apache.org/confluence/display/KAFKA/Compatibility+Matrix
https://www.confluent.io/blog/upgrading-apache-kafka-clients-just-got-easier/