截止2020.2.14,Kakfa最新版本为2.4.0,最早版本为0.7.0,最新版本为2.4.0。当前共有39个版本,总结的特性不包含Kafka Stream和Kafka connect。

  1. 版本介绍

主要版本新功能及改进记录如下

  1. Kafka 0.10.2.1版本

    1. 改进
  • 【KAFKA-4943】应使用Zookeeper ACL更好地保护SCHEMA信息
  1. Kafka 0.10.2.2版本

    1. 改进
  • 【KAFAK-4965】在KafkaStreams中将internal.leave.group.on.close设置为false
  • 【KAFKA-5188】改进了有关Kafka启动失败的消息,其中包含data.dirs中的非Kafka数据目录(java.lang.StringIndexOutOfBoundsException: String index out of range: -1)
  • 【KAFKA-5242】在KafkaStreams中将max_number_of_retries添加到指数补偿策略
  • 【KAFKA-7009】将系统测试的警告级别上使Reflections.org静音的记录器
  1. Kafka 0.11.0.0版本

    1. 新功能
  • 【KAFKA-3487】KIP-146 在Connect中支持每个连接器/每个任务的类加载器
  • 【KAFKA-4208】添加记录标题(例如:在KafkaRecord中支持传入Header参数)
  • 【KAFKA-3265】KIP-117新增AdminClient客户端
  • 【KAFKA-4720】添加Kstream.peek(ForeachAction)
  • 【KAFKA-4743】添加了一个重置消费者组的工具(kafka-consumer-groups.sh)
  • 【KAFKA-4881】向消费者添加内部leave.group.on.close配置
  • 【KAFKA-4923】支持精确语义,引入事务
  • 【KAFKA-5059】支持事务协调器
  • 【KAFKA-5192】窗口状态存储的范围扫描
    1. 改进(主要)
  • 【KAFKA-3878】broker支持尝试参数(reconnect.backoff.ms)支持指数形式
  • 【KAFKA-5188】改进了有关Kafka启动失败的消息,其中包含data.dirs中的非Kafka数据目录(java.lang.StringIndexOutOfBoundsException: String index out of range: -1)
  • 【KAFKA-5257】将默认的unclean.leader.election.enabled从true改为false
  1. Kafka 1.0.0版本

    1. 新功能
  • 【KAFKA-4602】KIP-72允许对传入请求占用的内存进行限制
  • 【KAFKA-5341】【KAFKA-5738】【KAFKA-5746】【KAFKA-5461】JMX监控指标完善:引入了很多集群健康度检查指标,同时对Kafka Connect监控体系做了较大程度的补足
  • 【KAFKA-5694】AdminClient API添加alterReplicaLogDirs、describeLogDirs,支持修改、查看分区数据目录信息
  • 【KAFKA-5856】AdminClient API 添加createPartitions,支持创建分区
    1. 改进(主要)
  • 【KAFKA-4501】支持Java 9:Java 9优化TLS和CRC32的性能(JEP 249以及引入了java.util.zip.CRC32C),因此在Java 9上启用Kafka安全后可以更快更快地进行数据加密以及checksum计算与校验
  • 【KAFKA-4764】优化SASL认证错误的处理:之前某些SASL认证异常没有清晰显示地与其它异常区分开来
  • 【KAFKA-4763】强化对JBOD磁盘奔溃的处理:之前JBOD下Kafka无法容忍磁盘奔溃,会直接导致broker宕机(JBOD:严格上来说不是一种RAID,因为它只是简单将多个磁盘合并成一个大的逻辑盘,并没有任何的数据冗余。数据的存放机制就是从第一块磁盘开始依序向后存储数据。如果某个磁盘损毁,则该盘上的数据就会丢失)
  1. Kafka 1.1.0版本

    1. 新功能
  • 【KAFKA-1689】将日志目录自动迁移到新位置
  • 【KAFKA-5142】KIP-145 在Kafka Connect中公开记录标题
  • 【KAFKA-6170】在Streams的KafkaClientSupplier中添加AdminClient
  • 【KAFKA-6240】支持Broker配置动态更新
    1. 改进(主要)
  • 【KAFKA-5526】KIP-175 kafka-consumer-groups.sh脚本中ConsumerGroupCommand类优化,增加更多可选参数,根据所写参数打印提示信息
  • 【KAFKA-5925】AdminClient API新增deleteRecords接口,用于删除消息
  • 【KAFKA-6430】改善Kafka Gzip压缩性能
  1. Kafka 2.0.0版本

    1. 新功能(主要)
  • 【KAFKA-6576】可配置的配额管理(KIP-257)
  • 【KAFKA-6841】添加对前缀ACL支持
    1. 改进(主要)
  • 【KAFKA-2061】提供 - - version标志以打印kafka版本,使用客户端端脚本打印kafka版本
  • 【KAFKA-3473】KIP-237添加更多JMX监控指标
  • 【KAFKA-6058】KIP-222 KafkaAdminClient API新增listConsumerGroups()、describeConsumerGroups()、deleteConsumerGroups()
  • 【KAFKA-6562】KIP-255 通过SASL/OAUTHBEARER进行Oauth身份验证
  • 【KAFKA-6615】增加kafka-dump-log.sh脚本,用于查看segments文件
  • 【KAFKA-6640】提高KafkaAdminClient.describeTopics()的效率
  • 【KAFKA-6726】 KIP-277 用于CreateTopics API的细粒度ACL(对自己创建的topic拥有整个生命周期)
  • 【KAFKA-6955】在DeleteRecordsConmmand中使用Java AdminClient,对应kafka-delete-records.sh脚本
  • 【KAFKA-7050】将消费者请求超时降低到30秒
    1. 其它(主要)
  • 【KAFKA-2983】【KAFKA-6921】删除对旧版Scala producer和consumer的支持
  • 【KAFKA-4423】删除对java 7的支持
  1. Kafka 2.1.0版本

    1. 改进(主要)
  • 【KAFKA-4514】支持Zstandard压缩(Zstandard由FaceBook开源,具有占用带宽少、吞吐率低、延时低、磁盘占用少的特点)
  • 【KAFKA-5886】增加delivery.timeout.ms生产者超时配置(KIP-91),delivery.timeout.ms >= linger.ms + retry.backoff.ms + request.timeout.ms
  • 【KAFKA-6884】ConsumerGroupCommand使用新的AdminClient,对应脚本kafka-consumer-groups.sh
  • 【KAFKA-7117】允许AclCommand使用AdminClient API,对应脚本
  • 【KAFKA-7147】允许kafka-reassign-partitions.sh和kafka-log-dirs.sh通过指定配置文件初始化客户端(解决认证情况不能增加认证参数问题)
  • 【KAFKA-7264】支持Java 11
    1. 其它(主要)

【KAFKA-7139】使用kafka-topics.sh脚本查看topic列表时,支持排除内部主题

  1. Kafka 2.2.0版本

    1. 改进(主要)
  • 【KAFKA-5962】使用AdminClient重构PreferredReplicaLeaderElectionCommand,对应脚本kafka-preferred-replica-election.sh
  • 【KAFKA-6774】改善consumer中groupId的值
  • 【KAFKA-7054】Kafka describe命令应该抛出主题不存在异常
  • 【KAFKA-7352】KIP-368 允许SASL连接定期重新进行身份验证
  • 【KAFKA-7433】在TopicCommand中使用AdminClient,对应脚本kafka-topics.sh
  • 【KAFKA-7524】推荐使用Scala 2.12
  • 【KAFKA-7641】添加“consumer.group.max.size”以限制broker上的consumer元数据大小
  • 【KAFKA-7687】深度迭代时在DumpLogSegments中打印批次信息,对应kafka-dump-log.sh脚本
  • 【KAFKA-7719】提高SocketServer处理器的公平性,通过max.connections.per.ip限制每个ip上连接的总数
  1. Kafka 2.3.0版本

    1. 新功能(主要)
  • 【KAFKA-7283】对非活跃的segments文件,broker启动时跳过检查,缩短启动时间
  • 【KAFKA-7730】通过max.connections.per.ip限制每个ip上连接的总数
  • 【KAFKA-7904】KIP-427 添加AtMinIsr主题分区类型(新的JMX监控指标和TopicCommand选项)
    1. 改进(主要)
  • 【KAFKA-6161】为序列化器,反序列化器和Serde添加默认实现到close()和configure()
  • 【KAFKA-7236】在kafka.topics.sh脚本中添加 --under-min-isr选项
  • 【KAFKA-7320】在KafkaConsumer中提供自动创建主题开关
  • 【KAFKA-7466】KIP-339 AdminClient中添加IncrementAlterConfigs API,用于增量修改配置
  • 【KAFKA-7847】KIP-421 实现自动解析外部配置
  1. Kafka 2.4.0版本

    1. 新功能(主要)
  • 【KAFKA-3333】支持“Always Round-Robin”分区的备用分区程序
  • 【KAFKA-7471】kafka-consumer-groups.sh支持批量操作组
  • 【KAFKA-7500】MirrorMaker 2.0(KIP-382),用于数据迁移
  • 【KAFKA-7800】扩展Admin API已支持动态修改broker日志级别
  • 【KAFKA-8907】在CreateTopic响应中返回主题配置
    1. 改进(主要)
  • 【KAFKA-7197】支持Scala 2.13.0
  • 【KAFKA-8305】AdminClient支持使用默认分区和副本数创建主题
  • 【KAFKA-8544】删除旧版kafka.admin.AdminClient
  • 【KAFKA-8545】删除旧版ZKUtils
  • 【KAFKA-8634】将ZooKeeper更新为3.5.5
  • 【KAFKA-8730】客户端API和脚本工具支持删除已提交的偏移量
  • 【KAFKA-9033】允许在重新分配分区时创建分区
    1. 其它
  • 【KAFKA-8704】添加PartitionAssignor适配器以实现向后兼容
  • 【KAFKA-8760】KIP-504 添加新的Java Authorizer API,支持动态配置

总结

  1. 2.0.0版本将会弃用Java 7,所以升级到该版本必须保证客户端在Java 7以上;
  2. 版本越高可以使用更丰富的客户端AdminClient API以及脚本工具;
  3. 相比于0.10.2.1,高版本更好的支持磁盘容错,更优雅的处理磁盘错误(1.x版本支持);
  4. 在使用Kafka时应遵循一个基本原则,Kafka客户端版本和服务端版本应该保持一致(不同版本间存在协议转换、编码解码过程,会损耗性能);

kafka-2.11-2.3.0版本配置文件参数详解_Kafka版本特性总结相关推荐

  1. Linux网卡配置文件-参数详解

    Linux网卡配置文件-参数详解 DEVICE=eth0 #指出网卡名称比如这个是eth0 NM_CONTROLLED=yes #network mamager的参数,实时生效,不需要重启,表示是否受 ...

  2. CI流水线配置文件参数详解(二)

    文章目录 4. 参数详解(二) 4.9 git tag打标签的使用 4.10 ``allow_failure`` 4.11 ``when`` 关键字用于实现在作业失败时或发生故障时运行的作业 (whe ...

  3. Linux ❀ Rsyslog(Syslog)服务与配置文件参数详解

    文章目录 1.日志服务简介 2.linux系统中的常见日志 3.日志服务Rsyslog (1)服务对应rpm包 (2)服务配置文件 (3)配置文件格式 服务名称 连接符号 日志等级 日志记录位置 (4 ...

  4. MySQL配置文件参数详解

    [client] port = 3307 socket = /usr/local/mysql5_6/mysql.sock default-character-set=utf8 [mysql] prom ...

  5. mysql配置文件参数详解 my.cnf

    My.cnf My.cnf配置选项详解:  mysqld程序--目录和文件 basedir = path使用给定目录作为根目录(安装目录). character-sets-dir = path给出存放 ...

  6. Nginx配置文件参数详解以及配置文件模板

    全局配置 详解 user nginx nginx; #定义Nginx运行的用户和用户组 worker_processes 1; #nginx进程数,通常设置等于CPU总核数或者2倍与CPU worke ...

  7. DockerKubernetes ❀ Docker的在线安装、离线安装、配置镜像加速器、配置文件参数详解

    文章目录 1.Docker容器技术简述 2.CentOS 6安装Docker 3.CentOS 7/8安装Docker 3.1 卸载旧版本Docker与其依赖关系 3.2 安装Docker服务 3.2 ...

  8. compose配置文件参数详解

    本文介绍compose配置文件参数的使用,熟练编写compose文件 [root@docker lnmp]# cat lnmp.yaml version: '3' services:nginx:bui ...

  9. PPOCR 检测器配置文件参数详解

    文章目录 配置文件参数介绍 Global Optimizer Architecture Loss PostProcess Metric Dataset 配置文件参数介绍 以 rec_chinese_l ...

最新文章

  1. 在Ubuntu 16.04.6 LTS上安装python3.7和pip3后出现Command '('lsb_release', '-a')' 出错问题的解决方法
  2. 解决CSV文件中长数字以科学记数格式保存问题
  3. unity3d中画线有几种方式_【源码】Unity3D运行期间如何绘制直线-百度经验
  4. javascript Windows对象(BOM)
  5. 百度SEO Typecho仿Win95怀旧主题
  6. 移动硬盘(U盘)病毒对数据的破坏
  7. Longest Subsequence CodeForces - 632D (lcm)
  8. 阻止具有特定文件扩展名的附件的电子邮件
  9. 聚类精确度(Cluster Accuracy)
  10. Python设计模式:工厂模式
  11. ab压力测试-Windows安装使用:
  12. Flash闪存颗粒和SSD知识深度解析
  13. ROS:TF,机器人坐标管理神器
  14. 自然常数e是什么?它是怎么来的?
  15. 网页中图片显示不出来,解决网页中图片不能显示的方法
  16. 在线购物系统分析类图
  17. 802.11ax简要笔记
  18. Re-ID: Person Re-identification by Local Maximal Occurrence Representation and Metric Learning 论文解析
  19. phpcms 之 添加栏目时,输入英文栏目之后,总是提示栏目已存在
  20. hdu 2006 求奇数的乘积

热门文章

  1. ACM第一名:基于轨迹感知多模态特征的视频关系检测
  2. Winodws 10 如何安装wget
  3. [转]xml解析工具的效率比较QDomDocument、TinyXml-2、RapidXml、PugiXml
  4. DotNetCore跨平台~dotnet pack打包详细介绍
  5. 前端/投资者能从阿里巴巴CACSC全球总决赛的项目路演中获得什么
  6. 2014年:这些词都快被玩坏了
  7. opensuse-KDE桌面下自定义快捷键,ctrl+alt+t打开konsole
  8. 2014/08/24——升级stepbystep修复tc不刷新问题并加入杭电bc
  9. Java魔法堂:深入正则表达式API
  10. android Image zImage uImage boot.img分别是什么?个人笔记