由浅到深学习kafka(三):kafka的种类

上一篇文章介绍了Kafka的相关术语,今天来了解一下Kafka的种类

说到Kafka的种类,听起来有点怪怪的,Kafka不是一个开源的框架么?为什么kafka会有不同的种类?

实际上,Kafka有好几种,先拿Hadoop举个例子,Hadoop有多个“种类”,除原生的Apache的Hadoop之外,有些大数据商业公司,将Apache Hadoop封装成自己的产品,发布为不同的”发行版”,例如HDP的Hadoop,CDH的Hadoop,MapR的Hadoop,星环的Hadoop

Kafka也与Hadoop类似,也有着不同的“发行版”

  1. Apache Kafka
  2. Confluent Kafka
  3. Cloudera/Hortonworks Kafka

分别介绍一下各个版本的Kafka

1. Apache Kafka

Apache Kafka是最“正宗”的Kafka,也应该是你最熟悉的发行版了

自Kafka开源后,它便在Apache基金会孵化并最终毕业成为顶级项目,它也被称为社区版Kafka,它是后面其他所有发行版的基础

也就是说,后面提到的发行版要么是原封不动地继承了Apache Kafka,要么是在此之上扩展了新功能,总之Apache Kafka是我们学习和使用Kafka的基础

优点:

  1. 迭代速度快:对Apache Kafka而言,它现在依然是开发人数最多、版本迭代速度最快的Kafka
  2. 社区响应高:在2018年度Apache基金会邮件列表开发者数量最多的Top 5排行榜中,Kafka社区邮件组排名第二位,如果使用Apache Kafka碰到任何问题并提交问题到社区,社区都会比较及时地响应,对于开发者比较友好

缺点:

  1. 仅提供基础功能:它仅仅提供最最基础的组件,特别是对于前面提到的Kafka Connect而言,社区版Kafka只提供一种连接器(connector,即读写磁盘文件的连接器,而没有与其他外部系统交互的连接器,在实际使用过程中需要自行编写代码实现
  2. 缺乏高级功能:Apache Kafka没有提供任何监控框架或工具。显然在线上环境不加监控肯定是不可行的,你必然需要借助第三方的监控框架实现对Kafka的监控。好消息是目前有一些开源的监控框架可以帮助用于监控Kafka(比如Kafka manager)

2.Confluent Kafka

先说说Confluent公司,2014年,Kafka的3个创始人Jay Kreps、Naha Narkhede和饶军离开LinkedIn创办了Confluent公司,专注于提供基于Kafka的企业级流处理解决方案

2019年1月,Confluent公司成功融资D轮1.25亿美元,估值也到了25亿美元,足见资本市场的青睐,它主要从事商业化Kafka工具开发,并在此基础上发布了Confluent Kafka。Confluent Kafka提供了一些Apache Kafka没有的高级特性,比如跨数据中心备份、Schema

注册中心以及集群监控工具等

Confluent Kafka目前分为免费版企业版两种

优点更多功能,定制化需求

免费版:

(1)Schema注册中心:集中管理Kafka消息格式以实现数据前向/后向兼容

(2)REST proxy:开放HTTP接口的方式允许通过网络访问Kafka的各种功能

(3)更多连接器:Confluent公司开发并认证

企业版:

(1)包含免费版所有功能

(2)垮数据中心备份:多个数据中心之间数据的同步

(3)集群监控

(4)技术支持、定制化解决方案

缺点:公司没有发展中国业务的计划,国内普及率较低,国内没有很好的资料

3.Cloudera/Hortonworks Kafka

Cloudera提供的CDHHortonworks提供的HDP是非常著名的大数据平台,里面集成了目前主流的大数据框架,能够帮助用户实现从分布式存储、集群调度、流处理到机器学习、实时数据库等全方位的数据处理

很多创业公司在搭建数据平台时首选就是这两个产品,不管是CDH还是HDP里面都集成了Apache Kafka,原本CDH的Kafka和HPD的Kafka应该是两个不同的kafka,但2018年10月两家公司宣布合并,也许以后CDH和HDP的Kafka也会合并,这里就当做一个Kafka

比较

优点:安装、部署、管理、监控方便

用过CDH和HDP的小伙伴都知道,他们的优点就是安装、运维、管理、监控全部统一在控制台中

所有的操作都可以在前端UI界面上完成,而不必去执行复杂的命令,另外这些平台提供的监控界面也非常友好,你通常不需要进行任何配置就能有效地监控

缺点:

1.降低了kafka的掌控,全由界面操作

2.版本滞后:如CDH 6.1.0版本发布时Apache Kafka已经演进到了2.1.0版本,但CDH中的Kafka依然是2.0.0版本,显然那些在Kafka 2.1.0中修复的Bug只能等到CDH下次版本更新时才有可能被真正修复

总结

通过上面的介绍,我们总结一下,如何选择合适的Kafka

  • Apache Kafka,也称社区版Kafka。优势在于迭代速度快,社区响应度高,使用它可以让你有更高的把控度;缺陷在于仅提供基础核心组件,缺失一些高级的特性
  • Confluent Kafka,Confluent公司提供的Kafka。优势在于集成了很多高级特性且由Kafka原班人马打造,质量上有保证;缺陷在于相关文档资料不全,普及率较低,没有太多可供参考的范例
  • CDH/HDP Kafka,大数据云公司提供的Kafka,内嵌Apache Kafka。优势在于操作简单,节省运维成本;缺陷在于把控度低,演进速度较慢

赫墨拉

我是一个喜爱大数据的小菜鸡,这里是我分享我的成长和经历的博客

You may also like...

发表评论

电子邮件地址不会被公开。