分布式实时统计系统 Rainbird

未知
Java
跨平台
2012-04-11
红薯

Rainbird 是 Twitter开发的一款分布式实时统计系统。

用处

Rainbird可以用于实时数据的统计:

1 统计网站中每一个页面,域名的点击次数

2 内部系统的运行监控(统计被监控服务器的运行状态)

3 记录最大值和最小值

 

性能要求

作为大型网站的分布式应用,需要具备以下性能: 

1 极高的写入性能,可以达到100,000的WPS

2 非常高的读取性能,可以达到10,000s的RPS

3 高度的可扩展性,包括读取和存储等等,能够扩展到100+ TB的量级

4 读取速度响应间隔短,绝大多数的读取速度应该不超过100ms

 

系统组件

Rainbird一款基于Zookeeper, Cassandra, Scribe, Thrift的分布式实时统计系统,这些基础组件的基本功能如下:

1 ZookeeperHadoop子项目中的一款分布式协调系统,用于控制分布式系统中各个组件中的一致性。

2 Cassandra,NoSQL中一款非常出色的产品,集合了Dynamo和Bigtable特性的分布式存储系统,用于存储需要进行统计的数据,统计数据,并且提供客户端进行统计数据的查询。(需要使用分布式Counter补丁CASSANDRA-1072)

3 Scribe,Facebook开源的一款分布式日志收集系统,用于在系统中将各个需要统计的数据源收集到Cassandra中。

4 Thrift,Facebook开源的一款跨语言C/S网络通信框架,开发人员基于这个框架可以轻易地开发C/S应用。

 

整体设计

Rainbird的设计架构图如下:

整个Rainbird系统中各个组件之间的协调和容灾处理由ZooKeeper负责,Cassandra负责整个数据的存储和统计。

Front End中部署了Scribe,收集需要统计的数据,然后将收集到数据实时地发生到Rainbird Aggregator中。

Rainbird Aggregator将缓存收集的数据(1M),并将缓存的数据进行一次预处理,然后再将数据一次性批量写入到Cassandra中。这里预处理的作用类似于MapReduce框架中的combiner的作用,在Maper端做Reduce。

Rainbird Query接受用户的查询请求,直接到Cassandra中查询已经统计好的数据返回给客户端。

加载中

评论(1)

靖先生
靖先生
国内唯一一个Cassandra中文社区 innosql.cn,知识分享、收录、互动交流平台

暂无资讯

暂无问答

mac使用技巧三则

虽然mac不如ubuntu感觉open,但是系统感觉还是挺好用的.用了小半年了,积累了几个不可缺少的经验,记录一下(因为头两周用的时候又忘记了.). 1.修改机器名 mac安装完成以后会默认将你的机器设成"...

2013/09/14 04:33
320
0
IOS中http请求使用cookie

一直以为ios的http请求这块很简单应该不支持记录,保存,或者使用cookie,可是想当然归想当然,真用的时候,真研究了一下发现还真强大。经过一番的研究简单说一下我的理解:当你访问一个网站...

2013/12/13 14:12
88
0
最近研究RabbitMQ的一些心得

测试平台: Distributor ID: Ubuntu Description: Ubuntu 9.10 Release: 9.10 Codename: karmic 既然是ubuntu,安装rabbitmq服务端是很easy的事情,一条命令搞定: apt-get install rabbitmq-se...

2016/06/06 17:14
8
0
NSHTTPCookieStorage

NSHTTPCookieStorage

2016/02/28 22:15
6
1
AppDelegate的科幻用法

学习总是一个循序渐进的过程,刚开始的时候知道的东西少,当遇到一个需求时会绞尽脑汁来想怎么来实现,而随着学习的不断深入,了解的东东越来越多,再遇到一个需求的时候总会瞬间有多个解决文...

2014/10/22 23:32
117
0
关于UITableView的Cell复用谈谈一些心得

查看博客:Rainbird的个人博客 UITableView是ios开发中使用率极高的一个控件,就我个人来说,几乎我做的每一个View上都有她的身影。但是很长一段时间,我对她的理解都很肤浅。对我来说触动较...

2013/01/02 14:16
1K
0
Mac使用笔记

修改主机名:sudo scutil --set HostName rainbird-desk 修改计算机名:sudo scutil --set ComputerName newName 常用快捷命令 command+a 全选 command+c 复制 command+v 粘贴 command+s 保存...

09/16 09:39
5
0
关于<AppName>-Prefix.pch文件的科幻用法

我们知道,每新建立一个工程,比如说HelloWord,在分类SupportingFiles里都会有一个以工程名开头-Prefix.pch结尾的文件,如HelloWord-Prefix.pch。对于这个文件,很长一段时间里笔者都没觉得...

2014/10/22 23:31
37
0
GNU screen 替代品 Tmux 的常用命令详解

常用命令: view plain copy to clipboard print ? tmux #开启tmux tmux ls #显示已有tmux列表(C-b s) tmux attach-session -t 数字 #选择tmux C-b c 创建一个新的窗口 C-b n 切换到下一个...

2012/07/11 13:52
286
1

没有更多内容

加载失败,请刷新页面

返回顶部
顶部