阅读271 返回首页    go 微软 go windows


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 整体架构