kafka 3.6.0 发布说明,ZooKeeper计划在 4.0版本中移除。


脑壳昏
脑壳昏 2023-10-23 15:50:29 55171
分类专栏: 资讯

2023年10月10日,Apache Kafka 3.6.0 发布。此版本包含许多新功能和改进。这篇博文将重点介绍一些更突出的功能。

将 Kafka 集群从 ZooKeeper 元数据系统迁移到 KRaft 元数据系统的功能现已可在生产环境中使用。详情请查看 ZooKeeper 到 KRaft 的迁移操作文档。注意,KRaft 群集仍不支持 JBOD,因此无法迁移使用 JBOD 的群集。

3.6 中完成了对 KRaft 中委托令牌(KAFKA-15219)的支持,进一步缩小了基于 ZooKeeper 的 Kafka 群集与 KRaft 之间的功能差距。从 ZooKeeper 到 KRaft 的授权令牌迁移也包含在 3.6 中。

分层存储是一项早期功能。它目前只适合在非生产环境中进行测试。

注意:ZooKeeper 自 3.5.0 版起已被标记为弃用。计划在 Apache Kafka 4.0 中移除 ZooKeeper。

Kafka Broker, Controller, 生产者, 消费者 和 Admin Client

 

  • KIP-405: Kafka 分层存储(早期访问):
    将分层存储引入 Kafka。注意,这是一项早期访问功能,仅建议在非生产环境中使用。该功能在 Kafka 中为可插拔的存储分层原生提供了计算和存储分离的代理分层存储功能,从而以最小的操作变化将存储无缝扩展到远程对象。

     

  • KIP-890:事务服务器端防御(第 1 部分):
    挂起的事务会对已读已提交的消费者产生负面影响,并妨碍压缩日志。KIP-890 可通过验证分区添加来帮助解决挂起事务的问题。KIP-890 的第 2 部分将优化验证,目前验证需要额外增加一跳。
    在 3.6.0 中,事务验证将防止数据分区上的事务挂起。在下一个版本中,还将涵盖事务偏移提交。

     

  • KIP-797:接受 IPv4/IPv6 端口上的重复监听器:
    到目前为止,Kafka 还不支持同一端口上的重复监听器。这在仅使用单个 IP 栈时有效,但如果同时使用 IPv4 和 IPv6,就会出现问题。有了 KIP-797,可以在不同的 IP 栈上为代理配置具有相同端口的监听器。此更新不会影响已发布的监听,因为它们已具备此功能。

     

  • KIP-863: 减少 CompletedFetch#parseRecord() 内存拷贝:
    通过使用 ByteBuffer 而不是 byte[] 进行反序列化,减少了内存分配并提高了记录反序列化过程中的内存性能,从而提高了效率。更新的公共接口包括 Deserializer 类、ByteBufferDeserializer 类和 StringDeserializer 类。

     

  • KIP-868: 元数据事务:

    通过添加由以下内容组成的元数据事务,提高了 KRaft 层的整体耐用性:

    KRaft 使用记录批次作为原子性机制。通常情况下,Raft 共识层的获取大小是有限制的,控制器可以生成一组超过此限制的原子记录。本次更新引入了标记记录,允许将更大的原子记录集分多批发送到 Raft 共识层。这样就绕过了获取限制。

    • 开始事务

    • 记录数

    • 结束事务或中止事务

       

  • KIP-902: 将 Zookeeper 升级至 3.8.2:
    将与 Kafka 捆绑的 ZooKeeper 版本升级到 3.8.2。新版本包含多项更新和安全改进。

     

  • KIP-917: 远程日志段的附加自定义元数据:
    它引入了可选的自定义元数据,作为远程日志段元数据的一部分。RemoteStorageManager 会在调用 copyLogSegmentData() 时返回可选的自定义元数据。它将与远程日志段元数据一起传递。

     

  • KIP-937: 改进消息时间戳验证:
    它通过为消息时间戳添加更多验证逻辑,提高了数据完整性,并防止了因时间戳处理不准确而造成的潜在隐患。在 Kafka 中,过去的时间戳是正常现象,而未来的时间戳可能代表格式不正确的整数。KIP-937 拒绝带有未来时间戳的报文,并提供了说明性的豁免。

     

  • KIP-938: 添加更多衡量 KRaft 性能的指标:
    添加新的控制器、加载器和快照发射器 KRaft 性能指标。

 

Kafka Streams

 

  • KIP-923: 为流表连接添加宽限期:
    为流表连接添加宽限期,以改进表侧失序数据处理。连接对象有一个名为 "withGracePeriod"的新方法,它将导致表侧查找仅在宽限期过后才发生。

     

  • KIP-941: 范围查询接受空下限和上限:
    以前,RangeQuery 不支持用 null 指定 "无上界/下界"。KIP-941 允许用户在 withRange(...) 中为下限/上限传递空值,以指定全开或半开范围:

    • withRange(null, null) == withNoBounds()

    • withRange(lower, null) == withLowerBound(lower)

    • withRange(null, upper) == withUpperBound(upper)

 

Kafka Connect

 

  • KIP-793: 允许将水槽连接器与topic突变 SMT 一起使用:
    为异步水槽连接器添加对主题突变 SMT 的支持。这是为了解决重载SinkTask::preCommit方法的水槽连接器与更改 SinkRecord 主题字段的 SMT 之间的不兼容问题。

     

  • KIP-875: Kafka Connect 中的一级偏移量支持:
    为 Kafka Connect 中的偏移量提供一流的管理支持。KIP-875 第 1 部分为连接器添加了获取偏移量的端点和新的 STOPPED 状态。更改偏移量和重置偏移量端点现已添加。

Action Description
GET /connectors/{connector}/offsets 读取连接器的偏移量;连接器必须存在
PATCH /connectors/{connector}/offsets 更改连接器的偏移量;连接器必须存在,且必须处于停止状态
DELETE /connectors/{connector}/offsets 重置连接器的偏移量;连接器必须存在,且必须处于停止状态
PUT /connectors/{connector}/pause 暂停连接器;连接器必须存在
  • Modernize Connect plugin discovery:
    借助 KIP-898,Connect woker 现在可以在启动期间直接读取 ServiceLoader 清单和模块信息,以实现更高效的插件类发现。请注意,此更新允许连接器开发人员向其插件添加服务声明。

网站声明:如果转载,请联系本站管理员。否则一切后果自行承担。

本文链接:https://www.xckfsq.com/news/show.html?id=27772
赞同 2
评论 0 条
脑壳昏L0
粉丝 0 发表 8 + 关注 私信
上周热门
如何使用 StarRocks 管理和优化数据湖中的数据?  2947
【软件正版化】软件正版化工作要点  2868
统信UOS试玩黑神话:悟空  2828
信刻光盘安全隔离与信息交换系统  2723
镜舟科技与中启乘数科技达成战略合作,共筑数据服务新生态  1256
grub引导程序无法找到指定设备和分区  1221
华为全联接大会2024丨软通动力分论坛精彩议程抢先看!  165
2024海洋能源产业融合发展论坛暨博览会同期活动-海洋能源与数字化智能化论坛成功举办  163
点击报名 | 京东2025校招进校行程预告  163
华为纯血鸿蒙正式版9月底见!但Mate 70的内情还得接着挖...  158
本周热议
我的信创开放社区兼职赚钱历程 40
今天你签到了吗? 27
如何玩转信创开放社区—从小白进阶到专家 15
信创开放社区邀请他人注册的具体步骤如下 15
方德桌面操作系统 14
用抖音玩法闯信创开放社区——用平台宣传企业产品服务 13
我有15积分有什么用? 13
如何让你先人一步获得悬赏问题信息?(创作者必看) 12
2024中国信创产业发展大会暨中国信息科技创新与应用博览会 9
中央国家机关政府采购中心:应当将CPU、操作系统符合安全可靠测评要求纳入采购需求 8

加入交流群

请使用微信扫一扫!