写点什么

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:006071
用户头像

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

关注

评论

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

【深入浅出Spring原理及实战】「开发实战系列」重新回顾一下异常重试框架Spring Retry的功能指南和实战

洛神灬殇

spring Spring retry 重试机制 spring-retry

php出现SSL certificate problem: unable to get local issuer certificate的解决办法

百度搜索:蓝易云

php Linux 运维 ssl curl

教你如何成为微信朋友圈广告代理,微信第五条广告项目加盟商咋做?

互联网创业说

zkCrossDEX上线,Partisia Blockchain 生态向前大跨步前进

EOSdreamer111

企业选择MES系统是选择现成的OR定制开发?

万界星空科技

生产管理系统 mes 万界星空科技 定制开发MES

《自动机理论、语言和计算导论》阅读笔记:p428-p525

codists

编译原理

基于国产 Web 组态软件 TopStack 搭建隧道照明控制系统

图扑物联

物联网 组态软件 web组态 智慧隧道

Xilinx ZYNQ的应用开发介绍

芯动大师

开发板 驱动 ZYNQ

zkCrossDEX上线,Partisia Blockchain 生态向前大跨步前进

长安区块链

DcmMWL-SDK

birdbro

andiod Java' DICOM

CCE云原生混部场景下的测试案例

华为云开发者联盟

云原生 华为云 华为云开发者联盟 华为云CCE

互联网广告官方投放全国授权代理加盟,信息流广告正规代理合作

Geek_dd3828

AI数字人直播系统:开启智能直播新时代!

青否数字人

营销H5测试综述

京东零售技术

测试 企业号 5 月 PK 榜

Flink物理分区概念与分类详解

木南曌

flink 实时计算

AI 数据观 | TapData Cloud + MongoDB Atlas:大模型与 RAG 技术有机结合,落地实时工单处理智能化解决方案

tapdata

Tapdata Cloud 工单处理 大型语言模型LLM 检索增强技术RAG MongoDB Atlas

苹果挖走大量谷歌人才,建立神秘人工智能实验室;李飞飞创业成立「空间智能」公司丨 RTE 开发者日报 Vol.197

声网

【深入浅出Spring原理及实战】「开发实战系列」Spring-Cache扩展自定义(注解失效时间+主动刷新缓存)

洛神灬殇

spring Spring Cache 缓存控制 缓存能力

【深入浅出Spring原理及实战】「工作实战专题」叫你如何使用另类操作去实现Spring容器注入Bean对象 (1)

洛神灬殇

Java spring 框架 Bean处理

Partisia Blockchain 生态首个zk跨链DEX现已上线

石头财经

Partisia Blockchain 生态zk跨链DEX上线,加密资产将无缝转移

股市老人

mybatis使用多参数查询

百度搜索:蓝易云

云计算 Linux 运维 mybatis 云服务器

聚道云助力航空巨头,管理与信息化效率飙升!

聚道云软件连接器

案例分享

Partisia Blockchain 生态zk跨链DEX上线,加密资产将无缝转移

BlockChain先知

GreptimeDB 助力国家电网数字换流站打造稳定高效的时序数据底座

Greptime 格睿科技

时序数据库 国产化 智慧电网 国家电网

Ubuntu 20.04网卡命名规则

百度搜索:蓝易云

Linux ubuntu 云服务器 eth1 eth0

【Git】删除本地分支;报错error: Cannot delete branch ‘wangyunuo-test‘ checked out at ‘XXX‘

百度搜索:蓝易云

git 云计算 Linux 运维 云服务器

MES生产管理系统:私有云、公有云与本地化部署的比较分析

万界星空科技

服务器 云服务 私有云 mes 万界星空科技

Web3 游戏周报(4.28 - 5.04)

Footprint Analytics

gamefi web3

直播预告|第一批 Vision Pro 开发者开始弃坑了吗? 本周六一起听听三位 XR 开发者的真实想法!

声网

大数据基础工程技术团队4篇论文入选ICLR,ICDE,WWW

阿里云大数据AI技术

大数据 阿里云

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