19.2. Kafka 版本
Kafka 的日志消息格式版本和 inter-broker 协议版本分别指定,日志格式版本附加到消息以及集群中使用的 Kafka 协议版本。为确保使用了正确的版本,升级过程涉及对现有 Kafka 代理和客户端应用程序(使用者和生产者)进行配置更改。
下表显示了 Kafka 版本之间的区别:
AMQ Streams 版本 | Kafka 版本 | inter-broker 协议版本 | 日志消息格式版本 | ZooKeeper 版本 |
---|---|---|---|---|
2.5 | 3.5.0 | 3.5 | 3.5 | 3.6.4 |
2.4 | 3.4.0 | 3.4 | 3.4 | 3.6.3 |
AMQ Streams 2.5 使用 Kafka 3.5.0,但 Kafka 3.4.0 也支持进行升级。
inter-broker 协议版本
在 Kafka 中,用于代理间通信的网络协议被称为 inter-broker 协议。Kafka 的每个版本都有了一个内部代理协议的兼容版本。协议的次要版本通常会增加以匹配 Kafka 的次要版本,如上表中所示。
inter-broker 协议版本在 Kafka
资源中设置 cluster wide。要更改它,您可以编辑 Kafka.spec.kafka.config
中的 inter.broker.protocol.version
属性。
日志消息格式版本
当制作者发送消息到 Kafka 代理时,消息会使用特定的格式进行编码。格式可能会在 Kafka 发行版本之间改变,因此消息指定它们编码的消息格式版本。
用于设置特定消息格式版本的属性如下:
-
主题的
message.format.version
属性 -
Kafka 代理的
log.message.format.version
属性
从 Kafka 3.0.0,消息格式版本值被假定为与 inter.broker.protocol.version
匹配,且不需要设置。该值反映了使用的 Kafka 版本。
当升级到 Kafka 3.0.0 或更高版本时,您可以在更新 inter.broker.protocol.version
时删除这些设置。否则,根据您要升级到的 Kafka 版本设置消息格式版本。
由在 Kafka 代理中设置的 log.message.format.version
定义的 message.format.version
的默认值。您可以通过修改主题配置来手动设置主题的 message.format.version
。