Yahoo! s4和Twitter storm的粗略比較

轉自:http://www.blogjava.net/killme2008/archive/2011/11/10/363238.html
-----------------------------------------------------

Yahoo! s4和Twitter storm的粗略比較

Items\Projects Yahoo! s4 Twitter Storm
協議 Apache license 2.0 Eclipse Public License 1.0
開發語言 Java Clojure,Java,Clojure編寫了核心代碼
結構 去中心化的對等結構 有中心節點nimbus,但非關鍵
通訊 可插拔的通信層,目前是基於UDP的實現 基於facebook開源的thrift框架
事件/Stream <K,A>序列,用戶可自定義事件類 提供Tuple類,用戶不可自定義事件類,
可是能夠命名field和註冊序列化器
處理單元 Processing Elements,內置PE處理
count,join和aggregate等常見任務
Bolt,沒有內置任務,提供IBasicBolt處理
自動ack
第三方交互 提供API,Client Adapter/Driver,第三方客戶端輸入或者輸出事件 定義Spout用於產生Stream,沒有標準輸出API
持久化 提供Persist API規範,可根據頻率或者次數作
持久化
無特定API,用戶可自行選擇處理
可靠處理  無,可能會丟失事件  提供對事件處理的可靠保證(可選)
路由 EventType + Keyed attribute + value匹配
內置count,join和aggregate標準任務
Stream Groupings:
Shuffle,Fields,All,Global,None,Direct
很是靈活的路由方式
多語言支持  暫時只支持Java 多語言支持良好,自己支持Java,Clojure,
其餘非JVM語言經過thrift和進程間通信
Failover  部分支持,數據沒法failover  部分支持,數據一樣沒法failover
Load Balance 不支持  不支持
 並行處理  取決於節點數目,不可調節  可配置worker和task數目,storm會盡可能將worker和task均勻分佈
動態增刪節點 不支持  支持
動態部署  不支持  支持
web管理  不支持  支持
代碼成熟度  半成品  成熟
活躍度  低  活躍
編程  編程 + XML配置   純編程
參考文檔  http://docs.s4.io/ https://github.com/nathanmarz/storm/wiki/
http://xumingming.sinaapp.com/category/storm/ (很是好的中文翻譯)
相關文章
相關標籤/搜索