| Twitter | Del.icio.us | Comments (18) | | Edit

Comments Powered by Disqus

留言评论 | Comments (18)

这个服务器的数量还是比较恐怖的。
不知道他们使用什么样的架构,如何管理

我怎么记得facebook是ruby开发的??

你看看这个

http://highscalability.com/friends-sale-architecture-300-million-page-view-month-facebook-ror-app

#
The Platform

# Ruby on Rails
# CentOS 5 (64 bit)
# Capistrano - update and restart application servers.
# Memcached
# MySQL
# Nginx
# Starling - distributed queue server
# Softlayer - hosting service
# Pingdom - for website monitoring
# LVM - logical volume manager
# Dr. Nics Magic Multi-Connections Gem - split database reads and writes to servers

楼上的,所提供的链接说的是一个叫 friend for sale 的facebook 功能应用是用ror开发的。开发这个应用的可不是facebook做的。

hi Fenng,我下载的Lucas Nealan 的pdf上没有你文章中关于 APC 的那个结构图,是不是我下载的不pdf不全. 能把你下载的URL 告诉下吗? 谢谢

@tesge

我漏掉了,搜索一份叫做 apc@facebook 的 PDF 文档

评论也这么难发呀。。

PHP的缓存,现在Xcache也不错,还是国人开发

不错呀,真长见识了。

悄悄问一下
Languages's don't Scale, Architecture Scale

这句到底是什么意思!

Languages's don't Scale, Architecture Scale

very very reasonable!

很可惜国内的很多应用
在处于争论到底JAVA,RUBY,还是PHP,ASP.NET哪种好的程度上
只是我没想到他们还在用APC
似乎APC已经停滞开发很久了.
如果是400台的memcached.我比较关心他们怎么处理memcached非持久性数据保存的问题
因为万一其中一台挂了.所有cached的数据就要从头再去DB里面读取.这样性能会一下子下降很多.

PS.希望和楼主交换下链接
本人也是研究网站体系架构的
www.hiadmin.com

为什么说“似乎APC已经停滞开发很久了.”
让我感觉老外说中国男人都留着辫子

代码罐头 的评论:
因为万一其中一台挂了.所有cached的数据就要从头再去DB里面读取.这样性能会一下子下降很多.

设计上可以每台cache分别对后台M台db散列进行缓存。
这样一台cache失效时,台每台db只要承受全部数据的1/N(N是cache数量)的操作压力(最优化情况下),所以这就是DB处理的底线了。

我觉得比较复杂,不过大公司应该可以实现吧。呵呵

ultraice#gmail#com

Languages's don't Scale, Architecture Scale
砖头木头不重要,重要的是如何设计。

这篇文章有点老……

facebook之所以如此庞大的硬件开销,恰恰是因为,当初开始设计的时候就没有进行有效的软件框架设计。

php最大的好处就是简单,宜用,我用3天学完,2个星期就开发一个生物实验用的信息平台。

但是,问题在于php不能很好的让后台和前台有效分隔,而后台的可扩展性和分不性根本就是依靠于php不同的框架,其实说白了facebook后台用了很多C/C++还有Java之类的语言来辅助。

真是无知者无畏啊……
http://goo.gl/CA78
Facebook 每位工程师服务 120 万名用户 v.s. Google 1:190,000 v.s. Amazon 1:96,000 v.s. Microsoft 1:75,000

这个是做多副本轮询,一个挂了还有其他几个副本,直到全部挂了才会去db里面重建,当然在全挂之前个mc服务器会自动修复挂掉的副本,所以去读db的几率很小