|
揭秘Twitter网站架构:没有最复杂只有更复杂
http://www.cww.net.cn 2011年10月11日 08:44 IT专家网
作为140个字的缔造者,twitter太简单了,又太复杂了,简单是因为仅仅用140个字居然使有几次世界性事件的传播速度超过任何媒体,复杂是因为要为2亿用户提供这看似简单的140个字的服务,这真的是因为简单,所以复杂。可是比较遗憾的是目前在中国大陆twitter是无法访问的,但作为一个爱好架构的程序猿,这道墙是必须得翻的,墙外的世界更精彩。今天就结合网络上的一些资料,来浅谈一下我对twitter网站架构的学习体会,希望给路过的朋友一点启示....... 一、twitter网站基本情况概览 ◆ 截至2011年4月,twitter的注册用户约为1.75亿,并以每天300000的新用户注册数增长,但是其真正的活跃用户远远小于这个数目,大部分注册用户都是没有关注者或没有关注别人的,这也是与facebook的6亿活跃用户不能相提并论的。 ◆ twitter每月有180万独立访问用户数,并且75%的流量来自twitter.com以外的网站。每天通过API有30亿次请求,每天平均产生5500次tweet,37%活跃用户为手机用户,约60%的tweet来自第三方的应用。 ◆ 平台:Ruby on Rails 、Erlang 、MySQL 、Mongrel 、Munin 、Nagios 、Google Analytics 、AWStats 、Memcached 二、twitter的平台 其中流量主要以手机和第三方为主要来源。 ◆ Ruby on Rails:web应用程序的框架 ◆ Erlang:通用的面向并发的编程语言,开源项目地址:http://www.erlang.org/ ◆ AWStats:实时日志分析系统:开源项目地址:http://awstats.sourceforge.net/ ◆ Memcached:分布式内存缓存组建 ◆ Starling:Ruby开发的轻量级消息队列 ◆ Varnish:高性能开源HTTP加速器 ◆ Kestrel:scala编写的消息中间件,开源项目地址:http://github.com/robey/kestrel ◆ Comet Server:Comet是一种ajax长连接技术,利用Comet可以实现服务器主动向web浏览器推送数据,从而避免客户端的轮询带来的性能损失。 ◆ libmemcached:一个memcached客户端 ◆ 使用mysql数据库服务器 ◆ Mongrel:Ruby的http服务器,专门应用于rails,开源项目地址:http://rubyforge.org/projects/mongrel/ ◆ Munin:服务端监控程序,项目地址:http://munin-monitoring.org/ [1] [2]
编 辑:葛逊 联系电话:
文章评论【查看评论()】
|
企业黄页 会议活动 |