预览加载中,请您耐心等待几秒...
1/10
2/10
3/10
4/10
5/10
6/10
7/10
8/10
9/10
10/10

亲,该文档总共20页,到这已经超出免费预览范围,如果喜欢就直接下载吧~

如果您无法下载资料,请参考说明:

1、部分资料下载需要金币,请确保您的账户上有足够的金币

2、已购买过的文档,再次下载不重复扣费

3、资料包下载后请先用软件解压,在使用对应软件打开

大型网站架构技术方案集锦-具体内容PlentyOfFish网站架构学习采取Windows技术路线的Web2.0站点并不多,除了MySpace,另外就是这个PlentyOfFish。这个站点提供"OnlineDating”服务。一个令人津津乐道的、惊人的数据是这个只有一个人(创建人MarkusFrind)的站点价值10亿,估计要让很多人眼热,更何况MarkusFrind每天只用两个小时打理网站--可操作性很强嘛。之所以选择Windows.NET的技术路线是因为MarkusFrind不懂LAMP那一套东西,会啥用啥。就这样,也能支撑超过3000万的日点击率(从这个数字也能看出来人类对自然天性的渴望是多迫切)。ToddHoff收集了很多关于PlentyOfFish架构的细节。记录一下感兴趣的部分。带宽与CPUPlentyOfFish比较特殊的一个地方是几乎不需要Cache,因为数据变化过快,很快就过期。我不知道这是因为ASP.NET的特点带来的架构特点,还是业务就是这个样子的。至于图片,则是通过CDN支撑的。对于动态出站(outbound)的数据进行压缩,这耗费了30%的CPU能力,但节省了带宽资源。我最近才知道,欧美的带宽开销也不便宜。负载均衡微软Windows网络负载均衡(NetworkLoadBalancing)的一个缺陷是不能保持Session状态(我没有用过这玩意儿,不能确认),价格也不便宜,而且复杂;网络负载均衡对Windows架构的站点又是必须--IIS的总连接数是有限制的。PlentyOfFish用的是ServerIron(ConfRefer),ServerIron使用简单,而且功能比NLB更丰富。数据库一共三台SQLServer,一台作为主库,另外两台只读数据库支撑查询。数据库性能监控用的是“Windows任务管理器"。因为Cache没啥用,所以要花大力气优化DB。每个页面上调用DB次数越少越好,越简单越好,这是常识,不过不是每个人都体会那么深而已。微软好不容易找到了一个宣传案例,所以在Channel9上有一个PlentyOfFish的访谈。PlentyOfFish取自天涯何处无芳草(Plentyoffishinthesea)的意思,还挺有文化的。从这一点上看,比国内那些拉皮条的网站好一些。--EOF--YouTube的架构扩展1在西雅图扩展性的技术研讨会上,YouTube的CuongDo做了关于YouTubeScalability的报告。视频内容在GoogleVideo上有(地址),可惜国内用户看不到。KyleCordes对这个视频中的内容做了介绍。里面有不少技术性的内容。值得分享一下。(KyleCordes的介绍是本文的主要来源)简单的说YouTube的数据流量,"一天的YouTube流量相当于发送750亿封电子邮件.",2006年中就有消息说每日PV超过1亿,现在?更夸张了,"每天有10亿次下载以及6,5000次上传",真假姑且不论,的确是超乎寻常的海量.国内的互联网应用,但从数据量来看,怕是只有51.com有这个规模.但技术上和YouTube就没法子比了.Web服务器YouTube出于开发速度的考虑,大部分代码都是Python开发的。Web服务器有部分是Apache,用FastCGI模式。对于视频内容则用Lighttpd。据我所知,MySpace也有部分服务器用Lighttpd,但量不大。YouTube是Lighttpd最成功的案例。(国内用Lighttpd站点不多,豆瓣用的比较舒服。byFenng)视频视频的缩略图(Thumbnails)给服务器带来了很大的挑战。每个视频平均有4个缩略图,而每个Web页面上更是有多个,每秒钟因为这个带来的磁盘IO请求太大。YouTube技术人员启用了单独的服务器群组来承担这个压力,并且针对Cache和OS做了部分优化。另一方面,缩略图请求的压力导致Lighttpd性能下降。通过HackLighttpd增加更多的worker线程很大程度解决了问题。而最新的解决方案是起用了Google的BigTable,这下子从性能、容错、缓存上都有更好表现。看人家这收购的,好钢用在了刀刃上。出于冗余的考虑,每个视频文件放在一组迷你Cluster上,所谓"迷你Cluster"就是一组具有相同内容的服务器。最火的视频放在CDN上,这样自己的服务器只需要承担一些"漏网"的随即访问即可。YouTube使用简单、廉价、通用的硬件,这一点和Google风格倒是一致。至于维护手段,也都是常见的工具,如rsync,SSH等,只不过人家更手熟罢了。数据库YouTube用MySQL存储元数据--用户信息、视频信息什么的。数据库服务器曾经一度遇到SWAP颠簸的问题,解决办法是删掉了SWAP分区!管用。最初的DB