近日, Konstantine Karantasis 发布博客称 Apache Kafka 3.0.0 已经正式发布,其中引入了各种新特性,并改进了 KRaft-Apache Kafka 的内置共识机制以取代 Apache ZooKeeper™ 。从 Apache Kafka 3.0 开始,生产者将默认启用最强的交付保证( acks=all, enable.idempotence=true ),这意味着用户现在可以默认获得排序(ordering)和持久性(durability)。
更多新功能如下所示:
- 弃用对 Java 8 及 Scale2.12 的支持;
- Kafka Raft 支持元数据主题的快照。Kafka 集群能够使用此主题来存储和复制元数据信息,比如Broker 配置,主题分区分配等;
- 在 3.0.0 版本中,Kafka 控制器现在已经完全接管了生成 Producer ID 的职责,这将允许用户从使用 ZK 的 Kafka 部署过渡到使用 KRaft 的新部署;
- 默认情况下为 Kafka Producer 启用更强的交付保证;
- 增加默认消费者会话超时。Kafka Consumer 的配置属性默认值 session.timeout.ms 从 10 秒增加到 45 秒,这将允许消费者在默认情况下更好地适应短暂的网络故障;
- 删除对消息格式 v0 和 v1 的支持。自从 2017 年 6 月推出 Kafka 0.11.0 以来,其默认消息格式一直都是 v2 格式,v0 和 v1 则很少被用到,因此在 3.0.0 版本中,如果用户将 Broker 配置为 v0 或 v1 格式,就会收到警告提醒;
- 扩展 OffsetFetch请求以接受多组 ID,在新版本中,fetch 和 AdminClient API 被拓展为支持在单个响应中同时读取多组的偏移量;
- 优化了 FindCoordinator 以一次解析多个 Coordinator;
更多详情点击链接查看
观看视频了解Apache Kafka 3.0.0 新功能解读