My studying notes for Java,Ruby,Ajax and other any interesting things.

星期一, 三月 02, 2009

[fwd]解读-豆瓣的“指环王架构”

解读豆瓣的"指环王架构"
 
from:http://bigqiangbigqiang.spaces.live.com/blog/cns!64A5E0FB4DFCD63F!697.entry
 
豆瓣的官方博客前几天发表了"豆瓣技术团队的指环王文化",文中笔调谐趣地道出《指环王》渗透入豆瓣的方方面面的场景,不经意间也透露出些许网站的"指环王架构"信息。我稍微做了一下整理,对有些信息做一些适当推测。
 
两台Web服务器承担。一台可能负责读书、电影、小组等;另一台负责9点。这两台服务器应该不是在前端的,豆瓣的网址应该都经过反向代理Rewrite过的,因此放在前端的可能还有几台硬盘缓存服务器(Squid?)做静态文件缓存,数目不详。
原文:梅里(Merry)和山姆(Sam)这两个霍比特人挑起了大梁,承担起所有用户的请求,向豆友们展现丰富多彩的页面。
 
应该还有几台Web服务器运行豆瓣的英文版及官方博客。不过从注册用户分离上看豆瓣英文版架构与中文版架构间关联度不大。
原文:运行着英文版豆瓣和豆瓣blog的服务器在美国,由于它离我们比较远,因此我们用中土世界跑得最快的马命名它――甘道夫的坐骑影疾(Shadowfax)。)
 
四台数据库服务器。这四台服务器的职能如何切分的还不清楚。如果这四台服务器是采用主从的架构,难道双胞胎爱隆和爱洛斯这两台是Slave服务器,森林女王凯兰崔尔(Galadriel)和灰港之主瑟丹(Círdan)是Master服务器?呵呵,瞎猜。
原文:四个神仙级的精灵:双胞胎爱隆(Elrond)和爱洛斯(Elros),森林女王凯兰崔尔(Galadriel)和灰港之主瑟丹(Círdan)用他们伟大的智慧和不死的生命保护着用户的所有数据。
 
一台服务器做整站的全文检索
原文:爱隆之女,美丽的亚玟公主(Arwen)帮助用户迅速搜索到想要的信息。
 
两台服务器做后台服务。可能是RSS抓取及爬虫搜索的服务。
原文:另一个霍比特人皮聘(Pippin)和英俊的精灵王子勒苟拉斯(Legolas)执行着一些后台任务。
 
三台数据挖掘服务器
原文:人皇阿拉贡(Aragorn)和刚铎摄政王的儿子波罗莫(Boromir),这两个强壮的人类和矮人金雳(Gimli)一起,承担着数据挖掘的重担。
 
一台图片文件服务器。以后豆瓣用户的头像、图书、电影等的图片都会由这台服务器来存储维护。从更广的方面讲,可能所有的css、js角本这样的静态文本都会被存储在这台服务器上。
原文:而波罗莫的弟弟法拉墨(Faramir)则逐步接管起图片的显示。
 
以上豆瓣的服务器架构的分配,实际上从这个服务器架构上还很难了解到到豆瓣如何处理负载均衡的。这里仅做初步认识好了。下面是豆瓣团队的软件开发项目。
 
豆瓣现有的软件项目:
豆瓣主站、数据挖掘、搜索爬虫、RSS抓取(9点)、高性能分布式计算平台。
 
开发:
开发团队采用了SCRUM敏捷模型的开发方法,Sprint的周期7天(周一迭代),以迅速响应不断变化的需求。每周的进展都会有一个code name。
 
看看以后豆瓣官方能否透露出更多的"指环王架构"细节。比如那个高性能分布式计算平台(这个名字很邪恶,叫魔多),或者一些没有提到的功能超级无敌的项目(似乎豆瓣的命名规则是越邪恶功能越强大,因此这个项目可能是未知的"索伦之眼":-D)等等

没有评论: