Apache Kafka 3.0
下载地址: https://downloads.apache.org/kafka/
官方文档: https://kafka.apache.org/documentation.html#upgrade
发行说明: https://downloads.apache.org/kafka/3.0.0/RELEASE_NOTES.html
3.0.0 中的显着变化
- 在 Kafka 3.0 中弃用对 Java 8 的支持
- 在 Kafka 3.0 中弃用对 Scala 2.12 的支持
- ZooKeeper 已经升级到 3.6.3 版本
- Streams API 删除了在 2.5.0 或更早版本中弃用的所有弃用 API
- 许多实现依赖 jar现在在运行时类路径中可用,而不是在编译和运行时类路径中
- Kafka Streams 不再对“connect:json”模块(KAFKA-5146)有编译时依赖。依赖此传递依赖项的项目必须明确声明它
- 该–zookeeper选项已从kafka-topics和kafka-reassign-partitions命令行工具中删除。请–bootstrap-server改用
- 该ConsumerConfig.addDeserializerToConfig和ProducerConfig.addSerializerToConfig方法被拆除。这些方法不打算成为公共 API,并且没有替代品。
- 该Producer#sendOffsetsToTransaction(Map offsets, String consumerGroupId)方法已被弃用
部分改进
- GetOffsetShell:支持多个主题和消费者配置覆盖
- 消费者轮询超时到期应记录为警告而不是信息
- 为 ThreadCacheTest 中缺少的方法添加单元测试用例
- 当按时间戳或持续时间重置偏移量找不到偏移量并默认为最新时,在消费者组上添加警告日志记录
- 当主题不存在时,kafka-reassign-partitions 命令应该给出更好的错误信息
- 将 junit 从 5.7.0 升级到 5.7.1
- 提高 Kafka Streams 跟踪进度的能力
- 删除 3.0 中弃用的 Kafka Streams API
部分漏洞
- ISR 中的死代理导致 isr-expiration 失败并出现异常
- 弃用的 PartitionGrouper 配置被忽略
- 当拥有密钥的追随者成为领导者时,永远不会分发新的会话密钥
- 追加失败后不更新偏移提交传感器
- 读取偏移量时,TaskMetadata endOffsets 不会更新
- 删除 3.0 中的端口、主机名和相关配置
- 在 KRaft 中分区更改后未更新跟随者领导者和 ISR 状态
- Kafka 可能无法连接到 ZooKeeper,永远重试,永远不会启动