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/ (非常好的中文翻译)
更多相关文章
  • Twitter Storm 安装实战 实际上安装Twitter Storm是上周三的事情了,周三的时候安装了一个单机版的,用WordCount跑了一下,感觉还不错.周四试着在集群上安装,碰到了一些问题,一直折腾到周五
  • 这篇文章列举出了storm topology里面的一些常见模式: 流聚合(stream join) 批处理(Batching) BasicBolt 内存内缓存 + fields grouping 组合 计算top N 用TimeCacheMap来高效地保存一个最近被更新的对象的缓存 分布式RPC: 
  • twitter storm源碼走讀之2  tuple消息發送場景分析
    欢迎转载,转载请注明出处源自徽沪一郎.本文尝试分析tuple发送时的具体细节,本博的另一篇文章<bolt消息传递路径之源码解读>主要从消息接收方面来阐述问题,两篇文章互为补充. worker进程内消息接收与处理全景图 先上幅图简要勾勒出worker进程接收到tuple消息之后的处理全过程 ...
  • 欢迎转载,转载时请注明作者徽沪一郎及出处,谢谢. 本文详细介绍了twitter storm中的nimbus节点的启动场景,分析nimbus是如何一步步实现定义于storm.thrift中的service,以及如何利用curator来和zookeeper server建立通讯. 对于storm cli
  • 本文详细描述如何在archlinux上搭建twitter storm cluster,转载请注明出处,谢谢. 有关archlinux基本系统安装,请参照archlinux简明安装指南一文,下面以上述为基础讲解如何一步步安装twitter storm cluster. 先列出安装主要步骤 安装orac
  • twitter storm是由backtype公司创始人nathanmarz一手研发和开源的流计算(实时计算)框架,堪称实时计算领域的hadoop.nathanmarz也是在mac os x环境下开发和编译,因此本文介绍下如何在mac os x上编译twitter storm源码,希望对storm深 ...
  • 


    		    Twitter Storm 分布式RPC
    分布式RPC 分布式RPC(DRPC)的真正目的是使用storm实时并行计算极端功能.Storm拓扑需要一个输入流作为函数参数,以一个输出流的形式发射每个函数调用的结果. DRPC没有多少storm特性,因为它是从storm的原始流,spouts,bolts,拓扑来表达一个模式.DRPC没有单独打包 ...
  • Twitter Storm安裝配置(Ubuntu系統)單機版
    要使用storm首先要安装以下工具:JDK.Python.zookeeper.zeromq
一周排行
  • Openstack rabbitMQ install 1, install rabbitMQ yum -y install rabbitmq-server 2, hostname hostname qc_contro ...
  • 今天考试结果不理想 虽然第二题是std数据错误而且原则上来说只有我AC了 但是第一题的贪心我不应该想不到而写一个暴力 第三题的并查集其实我都想到思路了但是没有想到用并查集做而是用离线排序黑过去,所以WA10了 总之考
  • Bash中的任務(job)管理
    本来不准备写这篇博客的,因为任务管理(job管理)非常非常常用,以至于觉得根本没有必要去写
  • Integer liFileNum String lsBAT , lsDAT String lsText,lsIP[] Long i , llFileName llFileName = 0 Do While True
  • 进入2007年之后,许多人在谈论是购买股票呢?还是购买房产.然而,许多企业却开始注意自己的信息安全风险.制定安全风险管理流程将是许多企业在2007年采取的最重要举措.原因何在?如果不实施正确的安全风险流程,企业的所有
  • sp_who可以返回如下信息: (可选参数LoginName, 或active代表活动会话数) Spid (系统进程ID) status (进程状态) loginame (用户登录名) hostname(用户主机名)
  • display:table和display:table-cell的用法: 建议:尽可能的手写代码,可以有效的提高学习效率和深度. display属性的table和table-cell属性值不怎么常用,主要是浏览器的兼
  •  http://bigasp.com/archives/606 https://randomascii.wordpress.com/category/xperf/ ADK 8.0  (C:\Program Files ...
  • Given a binary tree, return the inorder traversal of its nodes' values. For example:Given binary tree {1,#,2 ...
  • ReportMachine 印表機橫向
    Portrait 纵向 landscape  横向 RM_reg.pas :TRMPage