HI END


一种永不妥协,追求极致与完美的精神与态度。
  博客园  :: 首页  :: 新随笔  :: 联系 :: 订阅 订阅  :: 管理

各大网站架构总结笔记(转)

Posted on 2012-09-01 13:21  HI END  阅读(151)  评论(0编辑  收藏  举报

来源:http://www.itivy.com/ivy/archive/2011/3/17/634359701352994625.html

记得在大学里不止一次关注网站架构方面的东西了,但每次都是泛泛了解,也没有着重记录,一段时间后对各种架构的思想也就模糊了。这几天不知怎么的又心血来潮(可能是快毕业了冲动了)想深入了解一下网站架构方面的知识,并想通过这次来总结一下网站架构,记录一点东西供自己以后翻阅,也给那些希望了解这方面知识的朋友提供一点点有用的信息,下面是我这次学习的总结笔记,有什么写得不妥的地方还请大家指出,还有希望这篇随笔能抛砖引玉,大家各抒己见。

1、MySpace架构

回顾了MySpace的成长史,真是让人惊叹,他的架构基本经历了五个里程碑,每个阶段都是显得那么仓促,那么无奈,那么坎坷,又是那么的精彩,网站为了生存只能想尽一切办法去优化系统架构,让用户满意。他给我们后人的启示是要尽早发现系统的瓶颈,设计师在设计时要有前瞻思想,否则今后有可能也要这样仓促的升级你的产品。
这里是“五个里程碑”的具体介绍。

2、Flickr网站架构总结

Flickr.com 是网上最受欢迎的照片共享网站之一,还记得那位给Windows Vista拍摄壁纸的Hamad Darwish吗?他就是将照片上传到Flickr,后而被微软看中成为Vista壁纸御用摄影师。

--Pair of ServerIron's做负载均衡

--Squid做html和照片的缓存

--Memcached做数据缓存

--尤其是mysql数据库采用master-slave和shards技术实现了mysql数据库的负载均衡,解决了数据库的瓶颈,达到了数据库横向扩展的目标。

这里是他详细的架构描述

3、YouTube架构总结

这个貌似在国内是被和谐的,要FQ才能访问(不知到底何故)。看看他的架构:
--NetScaler用于负载均衡和静态内容缓存

--使用lighttpd作为Web服务器来提供视频服务

--CDN在多个地方备份内容,这样内容离用户更近的机会就会更高

--使用Google的BigTable,一个分布式数据存储、数据库分成shards,不同的用户指定到不同的shards、使用BigTable将图片备份到不同的数据中心,代码查看谁是最近的

这里是YouTube详细架构描述

4、PlentyOfFish架构总结

这个我觉的最神奇了,一个人每天花2个小时,可以维护一个每天3000W PV的,而且是基于.NET的(呵呵,终于给我们.net程序员一个好榜样了)。简述他的架构:
--用Microsoft Windows操作系统作为服务器

--使用ASP.NET技术

--使用IIS作为Web容器

--用Akamai CDN来缓存网页

--用Foundry ServerIron 来做负载均衡

--sqlserver采用master-slave架构,两台负责read操作,master那台负责写操作

--所有的request数据都使用了gzip压缩

PlentyOfFish详细架构描述

5、WikiPedia架构总结

维基百科(Wikipedia)是一个基于Wiki技术的全球性多语言百科全书协作计划,同时也是一部在网际网路上呈现的网路百科全书,其目标及宗旨是为全人类提供自由的百科全书──用他们所选择的语言来书写而成的,是一个动态的、可自由和的全球知识体。

使用MediaWiki软件

--

WikiPedia架构详细介绍