56622cce030f6f3934b0a53391f6f9a8
Apache kafka实战笔记 —— kafka版本知多少

[TOC]

概述:

本文大多是《Apache kafka实战》这本书的总结和感悟,不会完全照搬书中内容,目的在于通过问答的形式,总结kafka知识,只适用于初学者以及想购买《Apache kafka实战》的同学,该书是一本非常适合初学者的入门书籍,推荐购买。

为什么我们需要知道kafka的版本?

其实不仅是kafka,我们在学习任何开源框架或者是语言的时候,都需要培养自己的版本意识,保持版本意识有助于你:
1 正确选型,找到适合在生产环境中使用的版本
2 节约学习成本,不会因为版本问题而牵扯精力。比如照着书上编写的代码发生错误,这个时候通常是由于版本不一致造成的。
3 快速定位问题,有一些问题是由版本产生的,比如kafka的生产者和消费者如果版本不一致,可能会使我们享受不到kafka的一些性能优化,造成性能问题。
4 了解技术发展趋势

kafka版本解读

下图是kafka官网中的下载页面:

我们可以看到,kafka的最新版本是2.11-2.4.0。这里的2.11指的是scala语言的编译器版本,scala语言也是一门jvm语言。2.4.0分别对应着kafka的大版本号、小版本号、修订版本号。

kafka版本速览

目前kafka总共演进了7个大版本,分别是0.7、0.8、0,9、0.10、0.11、1.0、2.0。

0.7

这是一个kafka的远古版本,只提供了消息队列的基本功能。

0.8

从0.8开始,kafka引入了副本机制,保证了消息的可靠性,此时的生产和消费消息使用的还是老版本的客户端API,在与服务器进行交互的时候,我们需要指定Zookeeper地址,而不是broker地址。
0.8.2引入了新版本producer API,但是由于bug较多,不建议使用

0.9

增加了安全验证/权限功能,使用了java来重写了新版本消费者的api,引入了kafka Connect组件,这个版本的新Producer API相对比较稳定

0.10

引入了kafka Streams,kafka正式升级成了分布式流处理平台,这个版本的新版Consumer API相对稳定。博主公司生产环境使用的kakfa就是这个版本,0.10.2.2修复了一个可能导致Producer性能降低的bug,如果你使用的是大版本0.10的kafka,建议升级到0.10.2.2

0.11

引入了幂等性Producer API以及事务,主要服务于kafka Streams,另外这个版本的kafka消息格式进行了重构,提高了压缩的程度和效率

1.0/2.0

主要是对kafka streams进行了改进。

最后,期待您的订阅和点赞,专栏每周都会更新,希望可以和您一起进步,同时也期待您的批评与指正!

© 著作权归作者所有
这个作品真棒,我要支持一下!
一个坚持原创的小专栏。分享编程知识,提升工作效率,致力于通过简单的语言,把编程这点事讲清楚。涵盖内容:java、设...
0条评论
top Created with Sketch.