BT

如何利用碎片时间提升技术认知与能力? 点击获取答案

Apache的流处理技术概述

| 作者 Ian Hellström 关注 0 他的粉丝 ,译者 张天雷 关注 4 他的粉丝 发布于 2016年5月21日. 估计阅读时间: 5 分钟 | QCon上海2018 关注大数据平台技术选型、搭建、系统迁移和优化的经验。

对于流数据的处理存在很多技术:简单的事件处理器,流处理器和复杂的事件处理器。即使在开源社区中,也存在很多扑朔迷离的选择,其中很多的差异并没有被很好的记载,也不容易发现。这就是为什么我决定写这篇Apache流技术概述的文章的原因,包括FlumeNiFiApexKafka流Spark流StormFlinkSamzaIgniteBeam

(点击放大图像)

我原来写过很多篇幅很大的博客,并很受欢迎,但今天我打算破例一次。事不宜迟,马上开始这篇概述吧(点击查看全屏图片):

Flume和NiFi确切地属于数据收集(DC)和单事件处理器(SEP),而其它的是多事件流处理器(ESP)引擎或复杂的事件处理器(CEP)。显然,Spark本身和Ignite确切来说不仅仅是流处理器,但我还是在这里把它们列出来,因为它们提供流媒体功能。Apex也是同样的情况,这是一个统一批次和流数据的平台,它应该是介于一个数据收集引擎、一个基本ETL工具与一个事件流处理器之间。

在撰写本文时,Kafka流还没有正式发布。它有望在2016年4月发布,即将发布的是0.10版本。带有“back-pressure”的一行中标注“N/A”表示没有“back-pressure”,因为队列由Kafka管理,本身仅仅受限于可用的磁盘空间。毕竟,Kafka允许消息闲置重播。

Kafka流的预览当前可获得。Kafka流是一个Kafka 的Java库,是最初由LinkedIn开发的消息传递系统。Kafka目前在LinkedIn、Netflix和Spotify中被广泛应用。

自动扩展有时也被称为弹性扩展,动态扩展,动态的(资源)分配和动态工作重平衡。注意,自动扩展并不等同于一个负载平衡器。一个负载平衡器是“简单地”对工作量进行分配,但是当工作负荷相对cluster来说变得太大,或者可用资源超过需求的时候,负载平衡器不会扩张或收缩。

in-flight修改表示在流动当中修改数据的能力,即没有任何停机或应用程序重新提交的情况。有时也被称为零停机扩容,和即席或动态应用程序修改。对于in-flight修改,Spooker是一个值得多看一眼的项目。

为了平衡起见,我不得不提,在CEP市场上当然还有许多其他选择,例如:Software AG的Apama微软的StreamInsightOracle事件处理SAP ESPTibco的BusinessEventsStreambase。它们列出时并没有按具体的顺序!另外还有Esper,其中有一个可获取的开源版本,是GNU GPL许可的。

表中的信息已经从官方项目页面中被编辑,通过挖掘源代码,主要有下列来源:

  • 流媒体技术的蛋糕解决方案的两部分组成比较
  • 流媒体技术的MapR概述
  • 谷歌的数据流和Spark流比较,这是我在Read上做的总结
  • Taylor Goetz的Storm vs Spark流幻灯片
  • 有关Flink vs Storm的StackOverflow的讨论
  • Databricks有关Spark流中的改进容错的帖子
  • Artisans关于Flink设计的文章
  • MapR关于Flink 的文章
  • MapR关于Apex的文章
  • Hortonworks关于站点到站点数据流中NiFi 容错的信息,以及后续作品
  • Kafka流的汇合文档
  • Guozhang Wang关于Kafka流的报告

这个表并不完整,也不太可能是完全准确的,有些可能也有些过时。如果你确实发现了万有引力的错误,请让我知道,我会尽力以正视听。

如果您对Hadoop的文件格式和SerDes 的类似概述有兴趣,请查看我以前关于这些主题的帖子

阅读英文原文:AN OVERVIEW OF APACHE STREAMING TECHNOLOGIES


感谢杜小芳对本文的审校。

给InfoQ中文站投稿或者参与内容翻译工作,请邮件至editors@cn.infoq.com。也欢迎大家通过新浪微博(@InfoQ@丁晓昀),微信(微信号:InfoQChina)关注我们。

评价本文

专业度
风格

您好,朋友!

您需要 注册一个InfoQ账号 或者 才能进行评论。在您完成注册后还需要进行一些设置。

获得来自InfoQ的更多体验。

告诉我们您的想法

允许的HTML标签: a,b,br,blockquote,i,li,pre,u,ul,p

当有人回复此评论时请E-mail通知我
社区评论

允许的HTML标签: a,b,br,blockquote,i,li,pre,u,ul,p

当有人回复此评论时请E-mail通知我

允许的HTML标签: a,b,br,blockquote,i,li,pre,u,ul,p

当有人回复此评论时请E-mail通知我

讨论

登陆InfoQ,与你最关心的话题互动。


找回密码....

Follow

关注你最喜爱的话题和作者

快速浏览网站内你所感兴趣话题的精选内容。

Like

内容自由定制

选择想要阅读的主题和喜爱的作者定制自己的新闻源。

Notifications

获取更新

设置通知机制以获取内容更新对您而言是否重要

BT