Kafka2.6.0发布——性能大幅提升
时间:2022-07-23
本文章向大家介绍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
- inter.broker.protocol.version = CURRENT_KAFKA_VERSION(例如
- 如果要从0.11.0.x或更高版本升级,并且尚未覆盖消息格式,则只需要覆盖代理间协议版本。
- inter.broker.protocol.version = CURRENT_KAFKA_VERSION(例如
2.5
,2.4
等)
- inter.broker.protocol.version = CURRENT_KAFKA_VERSION(例如
- 一次升级一个代理:关闭代理,更新代码,然后重新启动。完成此操作后,代理将运行最新版本,并且您可以验证集群的行为和性能是否符合预期。如果有任何问题,此时仍然可以降级。
- 验证集群的行为和性能后,请通过编辑协议版本
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),以确保重新分配期间的此暂时错误由所有客户端作为可重试的异常进行处理。
更多Flink,Kafka,Spark等相关技术博文,科技资讯,欢迎关注实时流式计算 公众号后台回复 “电子书” 下载300页Flink实战电子书
- 修改WordPress分类目录和页面链接以斜杠/结尾,附nginx对应的301跳转设置方法
- 彻底弄懂 Http 缓存机制 - 基于缓存策略三要素分解法
- 解决Crayon Syntax Highlighter代码高亮与fancybox图片暗箱冲突问题
- 移动搜索SEO:网站移动适配之Meta标注、移动跳转终结篇
- http加速器Varnish的vcl配置小记(lnmp环境)
- 关于网站图标favicon.ico那点事儿,你造吗?
- 跨平台 ListView 性能优化
- 打造“微信小程序”组件化开发框架
- 解决Linux下MySQL启动错误Starting MySQL.Manager of pid-file quit without updating file.[FAILED]
- 美团大众点评 Hybrid 化建设
- Linux系统date命令无法修改或同步时间的解决办法
- Redex 初探与 Interdex:Andorid 冷启动优化
- JS延时判断,改善中国博客联盟展示导航自动点击的灵敏度
- RecyclerView 必知必会
- JavaScript 教程
- JavaScript 编辑工具
- JavaScript 与HTML
- JavaScript 与Java
- JavaScript 数据结构
- JavaScript 基本数据类型
- JavaScript 特殊数据类型
- JavaScript 运算符
- JavaScript typeof 运算符
- JavaScript 表达式
- JavaScript 类型转换
- JavaScript 基本语法
- JavaScript 注释
- Javascript 基本处理流程
- Javascript 选择结构
- Javascript if 语句
- Javascript if 语句的嵌套
- Javascript switch 语句
- Javascript 循环结构
- Javascript 循环结构实例
- Javascript 跳转语句
- Javascript 控制语句总结
- Javascript 函数介绍
- Javascript 函数的定义
- Javascript 函数调用
- Javascript 几种特殊的函数
- JavaScript 内置函数简介
- Javascript eval() 函数
- Javascript isFinite() 函数
- Javascript isNaN() 函数
- parseInt() 与 parseFloat()
- escape() 与 unescape()
- Javascript 字符串介绍
- Javascript length属性
- javascript 字符串函数
- Javascript 日期对象简介
- Javascript 日期对象用途
- Date 对象属性和方法
- Javascript 数组是什么
- Javascript 创建数组
- Javascript 数组赋值与取值
- Javascript 数组属性和方法
- 5000字 | 24张图带你彻底理解21种并发锁
- JavaScript-变量
- Android应用安装卸载监控
- 细数这些年被困扰过的 TS 问题
- 将WordPress插件Elementor标签插入到WordPress模板文件以使用Elementor编辑
- WordPress自定义新建多区域widget小工具调用
- WordPress调用分类目录 及输出当前分类下的二级目录 和分类文章数量显示
- CSS让Li标签溢出后自动换行
- docker里运行docker命令
- 一次性实战java8 新特性(全)—— Lambda、Optional、stream、DateTime
- 面试Python高频问题汇总
- python自学成才之路 miniconda创建虚拟环境
- 逐行阅读Spring5.X源码(一) BeanDefinition,起点
- linux 磁盘占满 查看占用
- 逐行阅读Spring5.X源码(二) BeanDefinition的父接口-AttributeAccessor 、BeanMetadataElement ,进阶