前往小程序,Get更优阅读体验!
立即前往
首页
学习
活动
专区
工具
TVP
发布
社区首页 >专栏 >kafka的发行版选择

kafka的发行版选择

作者头像
一条老狗
发布2020-02-13 11:55:06
2.1K0
发布2020-02-13 11:55:06
举报
文章被收录于专栏:极客运维极客运维

今天继续和大家聊一下,kafka的各种发行版。kafka历经数年的发展,从最初纯粹的消息引擎,到近几年开始在流处理平台生态圈发力,衍生出了各种不同特性的版本。

你了解几种 kafka

kafka的确有好几种,这里我不是指他的版本,是指存在多个组织或公司发布不同特性的kafka。你应该听说过Linux发行版,比如我们熟知的CentOSRedHatUbuntu等,它们都是Linux系统,其实就是因为它们是不同公司发布的Linux系统,即不同的发行版。kafka也同样有多个发行版。

Apache Kafka

Apache Kafka是最“正统”的kafka,也应该是你最熟悉的发行版了。自kafka开源之初,它便在Apache基金会孵化并最终毕业成为顶级项目,也被称为社区版kafka。重要的是,它是后面其他所有发行版的基础。也就是说,后面提到的其他发行版,要么是原封不动地继承了Apache Kafka,要么是在此之上扩展了新功能,总之Apache Kafka是我们学习和使用kafka的基础。

Cloudera/Hortonworks Kafka

Cloudera提供的CDHHortonworks提供的HDP是最常见的大数据平台,里面集成了目前主流的大数据框架,能够帮助用户实现从分布式存储、集群调度、流处理到机器学习、实时数据库等全方位的数据处理。我了解到很多创业公司在搭建数据平台时首选就是这两个产品。不管是CDH还是HDP里面都集成了Apache Kafka,因此我把这两款产品中的Kafka称为CDH KafkaHDP Kafka

当然在 2018 年 10 月两家公司宣布合并,共同打造世界领先的数据平台,合并成CDP一款产品,但能肯定的是Apache Kafka依然会包含其中,并作为新数据平台的一部分对外提供服务。

Confluent Kafka

Confluent公司,2014 年,Kafka的 3 个创始人Jay KrepsNaha Narkhede和饶军离开LinkedIn创办了Confluent公司,专注于提供基于Kafka的企业级流处理解决方案。2019 年 1 月,Confluent公司成功融资 D 轮 1.25 亿美元,估值也到了 25 亿美元,足见资本市场的青睐。

Confluent公司,主要从事商业化Kafka工具开发,并在此基础上发布了Confluent KafkaConfluent Kafka提供了一些Apache Kafka没有的高级特性,比如跨数据中心备份、Schema注册中心以及集群监控工具等。

特性对比

说完世面上常见的kafka,我们来比较一下他们的特性

Apache Kafka

Apache Kafka,它现在依然是开发人数最多、版本迭代速度最快的kafka。如果你使用Apache Kafka碰到任何问题并提交问题到社区,社区都会比较及时地响应你。这对于我们kafka普通使用者来说还是比较友好的。

但是Apache Kafka的劣势在于它仅提供最最基础的组件,对于像Kafka Connect额外的数据工具,社区版kafka只提供了一种连接器,即读写磁盘文件的连接器,而没有与其他外部系统交互的连接器,在实际使用过程中需要自行编写代码实现。另外Apache Kafka没有提供任何监控框架或工具,你需要借助第三方的监控框架实现对kafka的监控。目前有一些开源的监控框架可以帮助我们用于监控Kafka(比如Kafka managerKafka Eagle等)

总而言之,如果仅仅是需要一个消息引擎系统或是简单的流处理应用场景,同时需要对系统有较大把控,那么推荐你使用Apache Kafka

CDH/HDP Kafka

再说说大数据云平台公司发布的Kafka(CDH/HDP Kafka)。这些大数据平台已经集成了Apache Kafka,通过便捷化的界面操作将·Kafka·的安装、运维、管理、监控全部统一在控制台中。如果你是这些平台的用户一定觉得非常方便,因为所有的操作都可以在前端界面上完成,而不必去执行复杂的Kafka命令。另外这些平台提供的监控界面也非常友好,通常不需要进行任何配置就能有效地监控 Kafka

这样做的结果是直接降低了你对Kafka集群的掌控程度。毕竟你对底层的Kafka集群一无所知,难以做到心中有数。这种Kafka 的另一个弊端在于它的滞后性。由于它有自己的发布周期,因此是否能及时地包含最新版本的Kafka就成为了一个问题。比如CDH 6.1.0版本发布时Apache Kafka已经演进到了 2.1.0 版本,但CDH中的Kafka依然是 2.0.0 版本,显然那些在Kafka 2.1.0 中修复的Bug只能等到CDH下次版本更新时才有可能被真正修复,而整个CDH升级还是略显繁重的。我曾经使用CDH 5.14.0版本,集成的Kafka还是0.9~0.11版本的,而为了升级Kafka而升级整个CDH,还会导致其他大数据组件的升级。

简单来说,如果你需要快速地搭建消息引擎系统,或者你需要搭建的是多框架构成的数据平台且Kafka只是其中一个组件,那么我推荐你使用这些大数据云平台公司提供的Kafka

Confluent Kafka

Confluent Kafka目前分为免费版和企业版两种。前者和Apache Kafka非常相像,除了常规的组件之外,免费版还包含 Schema注册中心和REST proxy两大功能。前者是帮助你集中管理Kafka消息格式以实现数据前后兼容;后者用开放HTTP接口的方式允许你通过网络访问Kafka的各种功能,这两个都是Apache Kafka所没有的。

除此之外,免费版包含了更多的连接器,都是Confluent公司开发并认证过的,可以免费使用。至于企业版,则提供更多功能。最有用的当属跨数据中心备份和集群监控两大功能了。多个数据中心之间数据的同步以及对集群的监控历来是Kafka的痛点,Confluent Kafka企业版提供了强大的解决方案。

不过Confluent公司暂时没有发展国内业务的计划,相关的资料以及技术支持都很欠缺,很多国内Confluent Kafka使用者甚至无法找到对应的中文文档,因此目前Confluent Kafka在国内的普及率比较低。

如果你需要用到Kafka的一些高级特性,且没有预算成本压力,那么推荐使用Confluent Kafka

本文参与 腾讯云自媒体分享计划,分享自微信公众号。
原始发表:2020-01-09,如有侵权请联系 cloudcommunity@tencent.com 删除

本文分享自 极客运维 微信公众号,前往查看

如有侵权,请联系 cloudcommunity@tencent.com 删除。

本文参与 腾讯云自媒体分享计划  ,欢迎热爱写作的你一起参与!

评论
登录后参与评论
0 条评论
热度
最新
推荐阅读
目录
  • 你了解几种 kafka
    • Apache Kafka
      • Cloudera/Hortonworks Kafka
        • Confluent Kafka
        • 特性对比
          • Apache Kafka
            • CDH/HDP Kafka
              • Confluent Kafka
              相关产品与服务
              专用宿主机
              专用宿主机(CVM Dedicated Host,CDH)提供用户独享的物理服务器资源,满足您资源独享、资源物理隔离、安全、合规需求。专用宿主机搭载了腾讯云虚拟化系统,购买之后,您可在其上灵活创建、管理多个自定义规格的云服务器实例,自主规划物理资源的使用。
              领券
              问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档