Kafka2.6.0的性能提升示例分析

67次阅读
没有评论

共计 2140 个字符,预计需要花费 6 分钟才能阅读完成。

这期内容当中丸趣 TV 小编将会给大家带来有关 Kafka2.6.0 的性能提升示例分析,文章内容丰富且以专业的角度为大家分析和叙述,阅读完这篇文章希望大家可以有所收获。

近日 Kafka2.6 版本发布,距离 2.5.0 发布只过去了不到四个月的时间。

Kafka 2.6.0 包含许多重要的新功能。以下是一些重要更改的摘要:

默认情况下,已为 Java 11 或更高版本启用 TLSv1.3

性能显着提高,尤其是当代理具有大量分区时

扩展 Kafka Streams 的应用程序更便捷

Kafka Streams 支持更改时发出

新的 metrics 可提供更好的运营洞察力

配置为进行连接时,Kafka Connect 可以自动创建 Topic

改进了 Kafka Connect 中接收器连接器的错误报告选项

Kafka Connect 中的新过滤器和有条件地应用 SMT

“client.dns.lookup”配置的默认值现在为“use_all_dns_ips”。

将 Zookeeper 升级到 3.5.8

新功能

添加 KStream#repartition 操作

使 SSL 上下文 / 引擎配置可扩展

默认情况下启用 TLSv1.3,并禁用某些较旧的协议

有条件地应用 SMT

向流指标添加任务级活动进程比率

重构主循环以一次处理一个任务的多个记录

改善

增强了 TransformerSupplier / ProcessorSupplier

清理任务管理

将“onAssignment”流与“partitionsAssigned”任务创建合并

公开磁盘读写指标

允许消费者明确触发重新平衡

将 gradle 更新为 6.0+

支持 Java 14

将默认版本切换到 Scala 2.13

- 改进“matchingAcls”的性能

控制台生产者支持 client.id 的设置

升级指南:

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

对于滚动升级:

在所有代理上更新 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(例如 2.5,2.4 等)

log.message.format.version = CURRENT_MESSAGE_FORMAT_VERSION

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

inter.broker.protocol.version = CURRENT_KAFKA_VERSION(例如 2.5,2.4 等)

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

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

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

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

2.6.0 注意点

Kafka Streams 添加了一种新的处理模式(需要 Broker 2.5 或更高版本),该模式使用完全一次的保证提高了应用程序的可伸缩性。

缺省情况下,Java 11 或更高版本已启用 TLSv1.3。如果客户端和服务器均支持 TLSv1.3,则将协商该协议,否则将回退至 TLSv1.2。

缺省情况下,Java 11 或更高版本已启用 TLSv1.3。如果客户端和服务器均支持 TLSv1.3,则将协商该协议,否则将回退至 TLSv1.2。

NotLeaderForPartitionException 已弃用,并已替换为 NotLeaderOrFollowerException。如果代理不是副本,则获取请求和仅用于领导者或跟随者的其他请求将返回 NOT_LEADER_OR_FOLLOWER(6)而不是 REPLICA_NOT_AVAILABLE(9),以确保重新分配期间的此暂时错误由所有客户端作为可重试的异常进行处理。

上述就是丸趣 TV 小编为大家分享的 Kafka2.6.0 的性能提升示例分析了,如果刚好有类似的疑惑,不妨参照上述分析进行理解。如果想知道更多相关知识,欢迎关注丸趣 TV 行业资讯频道。

正文完
 
丸趣
版权声明:本站原创文章,由 丸趣 2023-08-16发表,共计2140字。
转载说明:除特殊说明外本站除技术相关以外文章皆由网络搜集发布,转载请注明出处。
评论(没有评论)