当前位置:首页 >> 软件 >> 2008年12月12日

每月3亿PV的FaceBook朋友买卖插件的架构与数据

推荐者:张磊 (积分 405065) | 原作者:孙小二
>> 草根小声 <<
此文介绍了facebook的朋友买卖应用程序的技术架构,团队介绍,和项目过程中一些技术,管理等问题,很值得做大型2.0项目的团队借鉴。

译者 孙博宇,现工作于 朗玛趋势科技,程序员。

擅长 LAMP 架构应用

个人博客 http://www.sunboyu.cn

在短短的三个月时间内,朋友买卖成为facebook前十名的应用,它每秒钟处理200个请求,每月产生300 000 000个page view。在技术上,选择了Ruby on Rails框架,两个兼职程序员,一打服务器,和优秀的架构。

架构

l Ruby on Rails

l CentOS 5(64bit)

l Capistrano 升级和重启应用服务器

l Memcached

l Mysql

l Nginx

l Starling 分布式队列服务

l Softlayer 堡垒主机

l Pingdom 站点监视器

l LVM 逻辑卷管理器

l Dr.Nics Magic Multi-Connections Gem 数据库读写分离

当前情况

l Facebook十大热门应用

l 将近600 000活跃用户

l 每天500000独立用户访问量并保持持续增长

l 300 000 000 page view 每月

l 每月300%的稳定增长率

l 上个月2100 000 000的独立用户

l 每秒处理200次请求

l 每月5TB的流量

l 两个兼职开发者(目前一个全职),一个远程DBA支持

l 4台数据库服务器,6台应用服务器,a staging server, a front end server

六台 4核 8G内存 应用服务器

每个应用服务器建立16个mongrels一共是96个mongrels

系统设计目标:

支撑facebook应用-买卖朋友。

它基于一个波动的金融市场。

目前它是facebook排名前十的热门应用。

Tips:像买卖宠物一样买卖好友!你可以玩弄他,送礼物,或者用来炫耀。精明的投资者会把他的朋友发展成人们的货物,其实这只是满足

为什么做这个系统:

做这个系统更多的是为了测试和了解facebook这个系统

设计系统的时候,在设计,架构和实现方面有什么挑战和创新?

因为作为facebook的应用,每个请求都不能使用缓存页面,因此,它是一个时实行,并且写操作频繁的系统,对数据库优化要求比较高。

如何应付这些挑战?

我们采用memcached作为中间层,每个请求都不直接访问数据库。使用Rail's fragment caching缓存表现层。

系统目前是什么规模?

昨日访问量是500 000个独立用户并且访问量一直在增长。根据统计反馈,本月有 300 000 000 的page view。

1 2 3 4 5 下一页

[ 关键词:网站架构 插件 朋友买卖 原文/来源链接 ]
验证码: 20ju
备注:请不要在评论中发广告,如需增加外链请注册成个人会员试用个人签名与自助广告。