開源實時流處理系統小結


作者: 大圓那些事 | 文章可以轉載,請以超鏈接形式標明文章原始出處和作者信息

網址: http://www.cnblogs.com/panfeng412/archive/2013/02/21/open-source-real-time-stream-processing-systems.html

這里對目前業界開源的一些實時流處理系統做一次小結,作為日后進行技術調研的參考資料。

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提供對數據進行簡單處理,並寫到各種數據接收方(可定制)的能力。

項目鏈接:http://incubator.apache.org/flume

 


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM