Yahoo! s4和Twitter storm的粗略比较

http://www.blogjava.net/killme2008/archive/2011/11/08/363238.html

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/ (非常好的中文翻译)
posted @ 2014-03-05 16:58  悟寰轩-叶秋  阅读(383)  评论(0编辑  收藏  举报