当前位置: 首页 > 工具软件 > S4 > 使用案例 >

Storm与S4的比较

任云瀚
2023-12-01
Items\ProjectsYahoo! s4Twitter Storm
协议Apache license 2.0Eclipse Public License 1.0
开发语言JavaClojure,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/ (非常好的中文翻译)
 类似资料: