首页 >> 通信新闻 >> 滚动 >> 正文
 
揭秘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]  
编 辑:葛逊    联系电话:
分享到新浪微博 分享到搜狐微博 分享到腾讯微博 分享到网易微博 分享到139说客 分享到校内人人网 分享到开心网 分享到豆瓣 分享到QQ书签       收藏   打印  进入论坛   推荐给朋友
关键字搜索:Twitter  facebook  架构  开源项目  http  
文章评论查看评论()
昵称:  验证码:
 
相关新闻
即时新闻
通信技术
最新方案
企业黄页
会议活动