閱讀271 返回首頁    go 阿裏雲 go 技術社區[雲棲]


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配置
  純編程
參考文檔  https://docs.s4.io/

https://github.com/nathanmarz/storm/wiki/
https://xumingming.sinaapp.com/category/storm/ (非常好




的中文翻譯)


最後更新:2017-05-18 20:31:47

  上一篇:go  《KAFKA官方文檔》入門指南(一)
  下一篇:go  Ambari 架構(二)Ambari 整體架構