NVIDIA 初创加速计划,免费加速您的创业启动 了解详情
写点什么

Apache 的流处理技术概述

  • 2016-05-20
  • 本文字数:1421 字

    阅读完需:约 5 分钟

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

(点击放大图像)

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

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 微软的StreamInsight Oracle 事件处理 SAP ESP Tibco 的 BusinessEvents Streambase 。它们列出时并没有按具体的顺序!另外还有 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 )关注我们。

2016-05-20 19:006032
用户头像

发布了 268 篇内容, 共 118.3 次阅读, 收获喜欢 24 次。

关注

评论

发布
暂无评论
发现更多内容

InfoQ 极客传媒 15 周年庆征文|一文读懂分布式系统本质:高吞吐、高可用、可扩展

No Silver Bullet

架构 分布式系统 可扩展 6月月更 InfoQ极客传媒15周年庆

函数节流和函数防抖和他们的区别

工边页字

JavaScript 性能优化 前端 6月月更

【云服务器】云计算平台的架构是什么样的?

Finovy Cloud

云服务器 GPU服务器

哈希游戏开发竞猜系统哈希值hash算法

薇電13242772558

哈希算法

应用流程挖掘,发现潜在RPA可实施的场景,助力银行优化业务流程

易观分析

RPA

架构实战营模块七作业

天琪实刚亮

【Spring 学习笔记(一)】第一个Spring程序与IoC思想

倔强的牛角

6月月更

直播回顾 | 7000字干货,深析区块链+汽车供应链金融的应用价值

旺链科技

区块链 产业区块链 供应链金融

当AI抄起了水表

华为云开发者联盟

人工智能 modelarts workflow 智能水务

华为云GaussDB首席架构师冯柯:摘取皇冠上的明珠,华为云数据库的创新与探索

华为云开发者联盟

数据库 华为云 GaussDB 国产数据库

动态路由协议之RIP协议,最古老的距离矢量协议!

wljslmz

IP 网络工程师 动态路由 6月月更 路由协议

Docker的安装及日常命令的使用

Geek_982ff5

6月月更

企业知识管理体系怎么搭建和运营?

小炮

天猫精灵语音技能单轮对话表达式的参数定义

Jerry Wang

人工智能 机器学习 聊天机器人 机器人 6月月更

2022年中国新能源汽车换电市场发展洞察

易观分析

新能源汽车

【高并发】在高并发环境下该如何构建应用级缓存?

冰河

并发编程 多线程 高并发 异步编程 6月月更

中国标准走进国际视野,首个零信任国际标准的诞生往事

脑极体

科创人·神州数码集团CIO沈旸:最佳实践模式正在失灵,开源加速分布式创新

科创人

盘点校招面试 HR 可能会问到的问题

宇宙之一粟

面试 校招 6月月更

这个API文档,太拽了吧!

Liam

前端 Postman API API文档 开放api

样品管理系统解决方案

低代码小观

Lims LIMS实验室信息管理系统 LIMS系统

都有哪些较好用的项目管理软件?

优秀

项目管理 项目管理软件

OceanBase 成为信通院首批可信开源社区、可信开源项目

OceanBase 数据库

中国信通院 OceanBase 开源

@全球开发者|首届云原生边缘计算峰会邀您共话

华为云开发者联盟

云原生 边缘计算 kubeedge

Java27岁了——一次争执引起的Java内卷生涯

写代码两年半

javase Java EE 6月月更

龙蜥开发者说:不忘初心,方得始终 | 第 7 期

OpenAnolis小助手

开源 cpu 龙蜥开发者说 飞腾 不忘初心

移动平台打造新生态 | 助力企业跨业务、一站式、全场景的系统建设

WorkPlus

一篇文章带你彻底了解哈希表

武师叔

算法 哈希表 6月月更

王者荣耀商城异地多活架构设计

流火

架构实战营模块七 作业

库尔斯

架构实战营

阿里云刘珅孜:云游戏带来的启发——端上创新

阿里云弹性计算

gpu 元宇宙 云游戏

Apache的流处理技术概述_开源_Ian Hellström_InfoQ精选文章