架构师必知的开源实时流处理系统

这里对目前业界开源的一些实时流处理系统做一次小结,作为日后进行技术调研的参考资料。

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处理,等等。

项目链接:http://storm-project.net

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提供对数据进行简单处理,并写到各种数据接收方(可定制)的能力。


本文作者:佚名

来源:51CTO

上一篇:win10 Hyper-V 虚拟机 装 boot2docker


下一篇:一些Java反编译工具/源代码查看工具的介绍