千家信息网

Kafka2.5.0有哪些新功能

发表于:2026-11-01 作者:千家信息网编辑
千家信息网最后更新 2026年11月01日,本篇内容主要讲解"Kafka2.5.0有哪些新功能",感兴趣的朋友不妨来看看。本文介绍的方法操作简单快捷,实用性强。下面就让小编来带大家学习"Kafka2.5.0有哪些新功能"吧!一、新功能1、Kaf
千家信息网最后更新 2026年11月01日Kafka2.5.0有哪些新功能

本篇内容主要讲解"Kafka2.5.0有哪些新功能",感兴趣的朋友不妨来看看。本文介绍的方法操作简单快捷,实用性强。下面就让小编来带大家学习"Kafka2.5.0有哪些新功能"吧!

一、新功能

1、Kafka Streams: Add Cogroup in the DSL

当多个流聚集在一起以形成单个较大的对象时(例如,购物网站可能具有购物车流,心愿单流和购买流。它们共同构成一个客户),将其在Kafka Streams DSL中使用非常困难。

通常需要您将所有流分组并聚合到KTables,然后进行多个外部联接调用,最后得到具有所需对象的KTable。这将为每个流和一长串ValueJoiners创建一个状态存储,每个新记录都必须经过此连接才能到达最终对象。

创建使用单个状态存储的Cogroup 方法将:

  • 减少从状态存储获取的数量。对于多个联接,当新值进入任何流时,都会发生连锁反应,联接处理器将继续调用ValueGetters,直到我们访问了所有状态存储。

  • 性能略有提高。如上所述,所有ValueGetters都被调用,还导致所有ValueJoiners被调用,从而强制重新计算所有其他流的当前联接值,从而影响性能。

2、Add support for TLS 1.3

Java 11添加了对TLS 1.3的支持。添加对Java 11的支持后,我们应该对此提供支持。

3、不再支持Scala 2.11

为什么不再支持?

我们目前为3个Scala版本构建Kafka:2.11、2.12和最近发布的2.13。由于我们必须在每个受支持的版本上编译和运行测试,因此从开发和测试的角度来看,这是一笔不小的成本。

Scala 2.11.0于2014年4月发布,对2.11.x的支持于2017年11月结束(到发布Kafka 2.5时将超过2年)。Scala 2.12.0于2016年11月发布,Scala 2.13.0于2019年6月发布。基于此,现在该放弃对Scala 2.11的支持了,以便我们使测试矩阵易于管理(最近的kafka-trunk-jdk8占用了将近10个小时,它将使用3个Scala版本构建并运行单元测试和集成测试。此外,Scala 2.12和更高版本还改进了与Java 8功能接口的互操作性(Scala 2.12中首次引入)。更具体地说,Scala 2.12中的lambda可以与Java 8代码相同的方式与Java 8功能接口一起使用。

在我们的下载页面中,我们推荐自Kafka 2.1.0起使用Scala 2.12构建的Kafka二进制文件。我们切换到Scala 2.12作为Kafka 2.2.0中源tarball,构建和系统测试的默认Scala版本。

二、改进与修复

  • 当输入 topic 事务时,Kafka Streams lag 不为 0

  • Kafka-streams 可配置内部 topics message.timestamp.type=CreateTime

  • 将 KStream#toTable 添加到 Streams DSL

  • 将 Commit/List Offsets 选项添加到 AdminClient

  • 将 VoidSerde 添加到 Serdes

  • 改进 Sensor Retrieval

[KAFKA-3061] 修复Guava依赖问题

[KAFKA-4203] Java生产者默认的最大消息大小不再与broker默认一致

[KAFKA-5868] kafka消费者reblance时间过长问题

详细更新内容点此查看

三、其他版本升级至2.5.0指南

如果要从2.1.x之前的版本升级,请参阅以下注释,以了解用于存储偏移量的架构的更改。将inter.broker.protocol.version更改为最新版本后,将无法降级到2.1之前的版本。

在所有Broker上更新server.properties并添加以下属性。CURRENT_KAFKA_VERSION指的是您要升级的版本。CURRENT_MESSAGE_FORMAT_VERSION是指当前使用的消息格式版本。如果以前覆盖了消息格式版本,则应保留其当前值。或者,如果要从0.11.0.x之前的版本升级,则应将CURRENT_MESSAGE_FORMAT_VERSION设置为与CURRENT_KAFKA_VERSION相匹配。

  • inter.broker.protocol.version = CURRENT_KAFKA_VERSION(例如0.10.0、0.11.0、1.0、2.0、2.2)。

  • log.message.format.version = CURRENT_MESSAGE_FORMAT_VERSION

  • 如果要从0.11.0.x或更高版本升级,并且尚未覆盖消息格式,则只需要覆盖Broker间协议版本。

    • inter.broker.protocol.version = CURRENT_KAFKA_VERSION(0.11.0,1.0,1.1,2.0,2.1,2.2,2.3)。

  • 一次升级一个Broker:关闭Broker,更新代码,然后重新启动。完成此操作后,Broker将运行最新版本,并且您可以验证集群的行为和性能是否符合预期。如果有任何问题,此时仍可以降级。

  • 验证群集的行为和性能后,通过编辑inter.broker.protocol.version并将其设置为2.5来提高协议版本 。

  • 逐一重新启动Broker,以使新协议版本生效。Broker开始使用最新协议版本后,将无法再将群集降级到较旧版本。

  • 如果您已按照上述说明覆盖了消息格式版本,则需要再次滚动重启以将其升级到最新版本。一旦所有(或大多数)使用者均已升级到0.11.0或更高版本,则在每个Broker上将log.message.format.version更改为2.5,然后逐一重新启动它们。请注意,不再维护的较旧的Scala客户端不支持0.11中引入的消息格式,因此,为避免转换成本,必须使用较新的Java客户端。

2.5.0主要的变化,可能产生的升级影响

  • 当RebalanceProtocol#COOPERATIVE使用时,Consumer#poll仍然可以返回数据,此外, Consumer#commitSync现在可以抛出RebalanceInProgressException来通知用户此类事件,CommitFailedException并允许用户完成正在进行的Reblance,然后重新尝试为那些仍然拥有的分区提交偏移量。

  • 为了提高典型网络环境中的弹性,默认值 zookeeper.session.timeout.ms已从6s增加到18s, replica.lag.time.max.ms从10s增加到30s。

  • cogroup()添加了新的DSL运营商,用于一次将多个流聚合在一起。

  • 添加了新的KStream.toTable()API,可将输入事件流转换为KTable。

  • 添加了新的Serde类型Void以表示输入主题中的空键或空值。

  • 弃用UsePreviousTimeOnInvalidTimestamp并替换为UsePartitionTimeOnInvalidTimeStamp。

  • 通过添加挂起的偏移防护机制和更强大的事务提交一致性检查,改进了一次精确语义,这大大简化了可伸缩的一次精确应用程序的实现。

  • 弃用KafkaStreams.store(String, QueryableStoreType)并替换为KafkaStreams.store(StoreQueryParameters)。

  • 不再支持Scala 2.11。

  • 软件包中的所有Scala类kafka.security.auth均已弃用。请注意,在2.4.0中已弃用kafka.security.auth.Authorizer 和kafka.security.auth.SimpleAclAuthorizer。

  • 默认情况下,TLSv1和TLSv1.1已被禁用,因为它们具有已知的安全漏洞。现在默认情况下仅启用TLSv1.2。您可以通过在配置选项ssl.protocol和中明确启用它们来继续使用TLSv1和TLSv1.1 ssl.enabled.protocols。

  • ZooKeeper已升级到3.5.7,并且如果3.4数据目录中没有快照文件,则ZooKeeper从3.4.X升级到3.5.7可能会失败。这通常发生在测试升级中,其中ZooKeeper 3.5.7尝试加载没有创建快照文件的现有3.4数据目录。

  • ZooKeeper 3.5.7版支持有或没有客户端证书的TLS加密的到ZooKeeper的连接,并且可以使用其他Kafka配置来利用此功能。

到此,相信大家对"Kafka2.5.0有哪些新功能"有了更深的了解,不妨来实际操作一番吧!这里是网站,更多相关内容可以进入相关频道进行查询,关注我们,继续学习!

版本 升级 支持 测试 消息 格式 存储 新功能 多个 客户 性能 状态 内容 功能 客户端 对象 数据 文件 问题 偏移 数据库的安全要保护哪些东西 数据库安全各自的含义是什么 生产安全数据库录入 数据库的安全性及管理 数据库安全策略包含哪些 海淀数据库安全审计系统 建立农村房屋安全信息数据库 易用的数据库客户端支持安全管理 连接数据库失败ssl安全错误 数据库的锁怎样保障安全 互联网高科技 新华互联网科技 科技互联网政务服务 互联网科技革命 未来的互联网科技 奇酷互联网络科技公司 顺网科技2021年互联网排名 互联网科技公司的市场部门 互联网科技实习生岗位职责 互联网科技有哪些公司 武汉健翔互联网络科技有限公司 互联网新科技动漫ppt素材 中国互联网公司排名锤子科技 互联网科技创新的路径 上海同邻互联网科技有限公司规模 云鲸互联网络科技有限公司 互联网科技新闻 广州智享互联网科技 中国科技和美国互联网 杭州科技互联网公司有哪些 互联网下的科技发展 互联网金融科技创新 华中科技大学互联网 中国最先进互联网科技公司 成都玖崟互联网科技有限公司乐商圈怎么样 互联网汽车科技小镇 燊美集互联网科技有限公司 互联网金融科技公司的优势 产业互联网科技服务公司 平安好医生打造互联网科技医疗
0