17.2. Kafka 版本
Kafka 的日志消息格式版本和 inter-broker 协议版本分别指定、附加到消息和集群中使用的 Kafka 协议版本中的日志格式版本。为确保使用了正确的版本,升级过程涉及对现有 Kafka 代理和客户端应用程序(使用者和生产者)进行配置更改。
下表显示了 Kafka 版本之间的区别:
| AMQ Streams 版本 | Kafka 版本 | inter-broker 协议版本 | 日志消息格式版本 | zookeeper 版本 |
|---|---|---|---|---|
| 2.4 | 3.4.0 | 3.4 | 3.4 | 3.6.3 |
| 2.3 | 3.3.1 | 3.3 | 3.3 | 3.6.3 |
AMQ Streams 2.4 使用 Kafka 3.4.0,但 Kafka 3.3.1 也支持升级。
inter-broker 协议版本
在 Kafka 中,用于代理间通信的网络协议称为 inter-broker 协议。Kafka 的每个版本都有了一个内部代理协议的兼容版本。协议的次要版本通常会增加到与 Kafka 的次要版本匹配,如上表所示。
在 Kafka 资源中设置 cluster wide 的 inter-broker 协议版本。要更改它,您可以编辑 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。