开源实时流处理系统小结
这里对目前业界开源的一些实时流处理系统做一次小结,作为日后进行技术调研的参考资料。
S4
S4(Simple Scalable Streaming System)是Yahoo最新发布的一个开源流计算平台,它是一个通用的、分布式的、可扩展性良好、具有分区容错能力、支持插件的分布式流计算平台,在该平台上程序员可以很方便地开发面向无界不间断流数据处理的应用,开发语言为Java。
项目链接:http://incubator.apache.org/s4/(注:S4 0.5.0已支持TCP链接及状态恢复等特性)
Storm
Storm是Twitter开源的分布式实时计算系统,Storm通过简单的API使开发者可以可靠地处理无界持续的流数据,进行实时计算,开发语言为Clojure和Java,非JVM语言可以通过stdin/stdout以JSON格式协议与Storm进行通信。Storm的应用场景很多:实时分析、在线机器学习、持续计算、分布式RPC、ETL处理,等等。
StreamBase
StreamBase是一个关于复杂事件处理(CEP)、事件流处理的平台。其本身是商业应用软件,但提供了Developer Edition,开发语言为Java。
项目链接:http://www.streambase.com
HStreaming
HStreaming构建在Hadoop之上,可以和Hadoop及其生态系统紧密结合起来提供实时流计算服务。这使得HStreaming的用户可以在同一个生态系统中分析处理大数据,开发语言为Java。
项目链接:http://www.hstreaming.com
Esper & NEsper
Esper是专门进行复杂事件处理(CEP)的流处理平台,Java版本为Esper,.Net版本为NEsper。Esper & NEsper可以方便开发者快速开发部署处理大容量消息和事件的应用系统,不论是历史的还是实时的消息。
项目链接:http://esper.codehaus.org
Kafka
Kafka是Linkedin于2010年12月份开源的高吞吐、基于Pub-Sub的分布式消息系统,主要用于处理活跃的流式数据,开发语言为Scala。
项目链接:http://incubator.apache.org/kafka
Scribe
Scribe是Facebook开源的日志收集系统,开发语言为C,通过Thrift可以支持多种常用客户端语言,在Facebook内部已经得到大量的应用。它能够从各种日志源上收集日志,存储到一个中央存储系统(可以是NFS,分布式文件系统等)上,以便于进行集中统计分析处理。它为日志的“分布式收集,统一处理”提供了一个可扩展的,高容错的方案。Scribe通常与Hadoop结合使用,Scribe用于向HDFS中push日志,而Hadoop通过MapReduce作业进行定期处理。
项目链接:http://github.com/facebook/scribe
Flume
Flume是Cloudera提供的一个分布式、可靠的、高可用的日志收集系统,用于收集、聚合以及移动大量日志数据,开发语言为Java。Flume支持在日志系统中定制各类数据发送方,用于收集数据;同时,Flume提供对数据进行简单处理,并写到各种数据接收方(可定制)的能力。

低调大师中文资讯倾力打造互联网数据资讯、行业资源、电子商务、移动互联网、网络营销平台。
持续更新报道IT业界、互联网、市场资讯、驱动更新,是最及时权威的产业资讯及硬件资讯报道平台。
转载内容版权归作者及来源网站所有,本站原创内容转载请注明来源。
- 上一篇
MongoDB 2.4企业版分析
版权声明:本文为博主chszs的原创文章,未经博主允许不得转载。 https://blog.csdn.net/chszs/article/details/8696831 MongoDB 2.4企业版分析 作者:chszs,转载需注明。博客主页:http://blog.csdn.net/chszs MongoDB v2.4版于3月19日发布,它引入了内置的文本搜索功能,以及基于哈希的分片和众所期盼的安全特性。 同时,10gen公司发布了MongoDB的企业版,它在开源版的基础上增加了安全和监控的特性,易于与其它企业软件相集成。 缺乏安全使得NoSQL技术广受批评。MongoDB企业版增加了基于角色的访问控制,这意味着用户的权限能得到更好的控制,还可以选择需要客户端提供签名的SSL证书。MongoDB企业版还支持Kerberos认证。 MongoDB的文本搜索作为其新功能之一,被视为“基本”的功能。但它并不意味着是Solr和Lucene的替代。 对于基于哈希的分片,可以确保MongoDB在大集群的分片下,读和写的分布相对均匀。而“working set size analyser”分析工具...
- 下一篇
storm简介
伴随着信息科技日新月异的发展,信息呈现出爆发式的膨胀,人们获取信息的途径也更加多样、更加便捷,同时对于信息的时效性要求也越来越高。举个搜索场景中的例子,当一个卖家发布了一条宝贝信息时,他希望的当然是这个宝贝马上就可以被卖家搜索出来、点击、购买啦,相反,如果这个宝贝要等到第二天或者更久才可以被搜出来,估计这个大哥就要骂娘了。再举一个推荐的例子,如果用户昨天在淘宝上买了一双袜子,今天想买一副泳镜去游泳,但是却发现系统在不遗余力地给他推荐袜子、鞋子,根本对他今天寻找泳镜的行为视而不见,估计这哥们心里就会想推荐你妹呀。其实稍微了解点背景知识的码农们都知道,这是因为后台系统做的是每天一次的全量处理,而且大多是在夜深人静之时做的,那么你今天白天做的事情当然要明天才能反映出来啦。 实现一个实时计算系统 全量数据处理使用的大多是鼎鼎大名的hadoop或者hive,作为一个批处理系统,hadoop以其吞吐量大、自动容错等优点,在海量数据处理上得到了广泛的使用。但是,hadoop不擅长实时计算,因为它天然就是为批处理而生的,这也是业界一致的共识。否则最近这两年也不会有s4,storm,puma这些实时计算...
相关文章
文章评论
共有0条评论来说两句吧...
文章二维码
点击排行
推荐阅读
最新文章
- MySQL8.0.19开启GTID主从同步CentOS8
- SpringBoot2更换Tomcat为Jetty,小型站点的福音
- Docker安装Oracle12C,快速搭建Oracle学习环境
- CentOS7,CentOS8安装Elasticsearch6.8.6
- Docker快速安装Oracle11G,搭建oracle11g学习环境
- 2048小游戏-低调大师作品
- Docker使用Oracle官方镜像安装(12C,18C,19C)
- Linux系统CentOS6、CentOS7手动修改IP地址
- CentOS7安装Docker,走上虚拟化容器引擎之路
- CentOS7编译安装Cmake3.16.3,解决mysql等软件编译问题