zl程序教程

您现在的位置是:首页 >  其他

当前栏目

Yahoo! s4和Twitter storm的粗略比较

2023-03-14 22:28:58 时间

ItemsProjects
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/ (非常好的中文翻译)

本文来源于"阿里中间件团队播客",原文发表时间" 2011-11-09"