youtube自定义缩略图(youtube缩小窗口)
如何通过利用OSS和CDN对网站进行架构优化
国内的不清楚,给你看看YOUTUBE的YouTube的架构扩展在西雅图扩展性的技术研讨会上,YouTube的CuongDo做了关于YouTubeScalability的报告。视频内容在GoogleVideo上有(地址),可惜国内用户看不到。KyleCordes对这个视频中的内容做了介绍。里面有不少技术性的内容。值得分享一下。(KyleCordes的介绍是本文的主要来源)简单的说YouTube的数据流量,"一天的YouTube流量相当于发送750亿封电子邮件.",2006年中就有消息说每日PV超过1亿,现在?更夸张了,"每天有10亿次下载以及6,5000次上传",真假姑且不论,的确是超乎寻常的海量.国内的互联网应用,但从数据量来看,怕是只有51.com有这个规模.但技术上和YouTube就没法子比了.1.Web服务器YouTube出于开发速度的考虑,大部分代码都是Python开发的。Web服务器有部分是Apache,用FastCGI模式。对于视频内容则用Lighttpd。据我所知,MySpace也有部分服务器用Lighttpd,但量不大。YouTube是Lighttpd最成功的案例。(国内用Lighttpd站点不多,豆瓣用的比较舒服。byFenng)2.视频视频的缩略图(Thumbnails)给服务器带来了很大的挑战。每个视频平均有4个缩略图,而每个Web页面上更是有多个,每秒钟因为这个带来的磁盘IO请求太大。YouTube技术人员启用了单独的服务器群组来承担这个压力,并且针对Cache和OS做了部分优化。另一方面,缩略图请求的压力导致Lighttpd性能下降。通过HackLighttpd增加的worker线程很大程度解决了问题。而最新的解决方案是起用了Google的BigTable,这下子从性能、容错、缓存上都有更好表现。看人家这收购的,好钢用在了刀刃上。出于冗余的考虑,每个视频文件放在一组迷你Cluster上,所谓"迷你Cluster"就是一组具有相同内容的服务器。最火的视频放在CDN上,这样自己的服务器只需要承担一些"漏网"的随即访问即可。YouTube使用简单、廉价、通用的硬件,这一点和Google风格倒是一致。至于维护手段,也都是常见的工具,如rsync,SSH等,只不过人家更手熟罢了。3.数据库YouTube用MySQL存储元数据--用户信息、视频信息什么的。数据库服务器曾经一度遇到SWAP颠簸的问题,解决法是删掉了SWAP分区!管用。最初的DB只有10块硬盘,RAID10,后来追加了一组RAID1。够省的。这一波Web2.0公司很少有用Oracle的(我知道的只有Bebo,参见这里).在扩展性方面,路线也是和其他站点类似,复制,分散IO。最终的解决之道是"分区",这个不是数据库层面的表分区,而是业务层面的分区(在用户名字或者ID上做文章,应用程序控制查找机制)YouTube也用Memcached.参考资料:互联网
(使用浏览器扫码进入在线客服窗口)
复制联系方式

