kafka的版本演进

Posted 永远不要矫情

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了kafka的版本演进相关的知识,希望对你有一定的参考价值。

1.kafka简介

Kafka是由Apache软件基金会开发的一个开源流处理平台,由Scala和Java编写。Kafka是一种高吞吐量的分布式发布订阅消息系统。

在kafka官网下载安装包时,能看到如下格式:

kafka_2.12,这个数字代码scala的版本,kafka使用的开发语言是scala。而2.8.0则代表的是kafka的版本。遵循 Major.Minor.Patch 的版本规则,

  1. Major表示大版本,通常是一些重大改变,因此彼此之间功能可能会不兼容;
  2. Minor表示小版本,通常是一些新功能的增加;
  3. Patch表示修订版,主要为修复一些重点Bug而发布的版本

Kafka总共发布了7个大版本,分别是0.7.x、0.8.x、0.9.x、0.10.x、0.11.x、1.x及2.x版本。而在1.0.0之前,Kafka使用的是4位版本号,例如:kafka_2.10-0.10.0.1

2.kafka版本演进

(1) 0.7.x版本:只具有基本的消息队列功能,无消息副本机制。

(2) 0.8.x版本: 引入了副本机制,并引入了新版本Producer API

(3) 0.9.x版本:增加权限和认证,使用Java重写了新的consumer API,Kafka Connect功能;在此版本开始,kafka server自己维护offset信息,但高可用还得依赖zookeeper。在该版本还不建议用最新的consumer API,因为bug比较多。

(4) 0.10.x版本:引入Kafka Streams功能,正式升级成分布式流处理平台;建议使用新版consumer API

(5) 0.11.x版本:producer API幂等,事务API,消息格式重构;

(6) 1.x版本:Kafka Streams以及Kafka Connect的改进与功能完善等,磁盘的故障转移,支持副本跨路径迁移;

(7) 2.x版本:Kafka Streams、Connect方面的性能提升与功能完善,和安全方面的增强,开始支持ZStandard的压缩方式,提升了消息的压缩比,显著减少了磁盘空间与网络io消耗。在2.8版本,kafka server的高可用不依赖zookeeper,使用自己内嵌的KRaft协议替代。

以上是关于kafka的版本演进的主要内容,如果未能解决你的问题,请参考以下文章

kafka的版本演进

分库分表技术演进&最佳实践-修订篇

大数据学习之旅1——HDFS版本演进

Git之深入解析如何选择修订的版本

#yyds干货盘点# 面试必刷TOP101:比较版本号

当 GIT 用完您的修订版的哈希值时会发生啥?