分布式系统

Yahoo! s4和Twitter storm的粗略比较(zz)

2011年11月11日 阅读(52)

zz from:http://www.blogjava.net/killme2008/archive/2011/11/08/363238.html?utm_source=twitterfeed&utm_medium=twitter 

Items\Projects

Yahoo! s4

Twitter Storm

协议

Apache license 2.0

Eclipse Public License 1.0

开发语言

Java

Clojure,Java,Clojure编写了核心代码 结构

去中心化的对等结构

有中心节点nimbus,但非关键 通信

可插拔的通讯层,目前是基于UDP的实现 基于twitter开源的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/ (非常好的中文翻译)

You Might Also Like