本文共 4633 字,大约阅读时间需要 15 分钟。
原贴:http://www.dbanotes.net/opensource/youtube_web_arch.html在上,YouTube 的 Cuong Do 做了关于 的报告。视频内容在 Google Video 上有(),可惜国内用户看不到。
对这个视频中的内容做了。里面有不少技术性的内容。值得分享一下。(Kyle Cordes 的介绍是本文的主要来源)
简单的说 YouTube 的数据流量, "一天的YouTube流量相当于发送750亿封电子邮件.", 2006 年中就有消息说每日 PV 超过 1 亿,现在? 更夸张了,"每天有10亿次下载以及6,5000次上传", 真假姑且不论, 的确是超乎寻常的海量. 国内的互联网应用,但从数据量来看,怕是只有 51.com 有这个规模. 但技术上和 YouTube 就没法子比了.
YouTube 出于开发速度的考虑,大部分代码都是 Python 开发的。Web 服务器有部分是 Apache, 用 FastCGI 模式。对于视频内容则用 。据我所知,MySpace 也有部分服务器用 Lighttpd ,但量不大。YouTube 是 Lighttpd 最成功的案例。(国内用 Lighttpd 站点不多,用的比较舒服。by )
视频的缩略图(Thumbnails)给服务器带来了很大的挑战。每个视频平均有4个缩略图,而每个 Web 页面上更是有多个,每秒钟因为这个带来的磁盘 IO 请求太大。YouTube 技术人员启用了单独的服务器群组来承担这个压力,并且针对 Cache 和 OS 做了部分优化。另一方面,缩略图请求的压力导致 Lighttpd 性能下降。通过 Hack Lighttpd 增加更多的 worker 线程很大程度解决了问题。而最新的解决方案是起用了 Google 的 BigTable, 这下子从性能、容错、缓存上都有更好表现。看人家这收购的,好钢用在了刀刃上。
出于冗余的考虑,每个视频文件放在一组迷你 Cluster 上,所谓 "迷你 Cluster" 就是一组具有相同内容的服务器。最火的视频放在 CDN 上,这样自己的服务器只需要承担一些"漏网"的随即访问即可。YouTube 使用简单、廉价、通用的硬件,这一点和 Google 风格倒是一致。至于维护手段,也都是常见的工具,如 rsync, SSH 等,只不过人家更手熟罢了。
YouTube 用 MySQL 存储元数据--用户信息、视频信息什么的。数据库服务器曾经一度遇到 SWAP 颠簸的问题,解决办法是删掉了 SWAP 分区! 管用。
最初的 DB 只有 10 块硬盘,RAID 10 ,后来追加了一组 RAID 1。够省的。这一波 Web 2.0 公司很少有用 Oracle 的(我知道的只有 ,参见这里). 在扩展性方面,路线也是和其他站点类似,复制,分散 IO。最终的解决之道是"分区",这个不是数据库层面的表分区,而是业务层面的分区(在用户名字或者 ID 上做文章,应用程序控制查找机制)
YouTube 也用 .
很想了解一下国内 Web 2.0 网站的数据信息,有谁可以提供一点 ?
--EOF--
为什么绝大多数采用MySQL而不是Oracle? LAMP是主要因素吗..Oracle太庞大了..
不错的文章,似乎很少有这么全面的对一个网站架构的介绍。
@Jay:
MySQL 是 OpenSource 软件,这一点无论如何不要忽略. 另外一点如你所说, Oracle 太庞大了,臃肿. 有些方面就不够灵活.
@Fenng,
删掉了不管用. 他原话说的可能是: But we tried. 底下观众全笑了. 不过我是很久前看的了, 细节也不能确定/@You XU,
视频我到现在还没有看到。还真不确定
YouTube Scalability视频 Google Video在线代理地址
国内的朋友可以直接点击观看@Dan, 我自己也有个 Agent,
但同样不能看
好文,收藏至20ju.com
豆瓣同样是Python(Quixote, fastcgi)+MySQL+memcached+lighttpd(包括处理动态请求和静态文件)。
--------国内的互联网应用,但从数据量来看,怕是只有 51.com 有这个规模.
别开玩笑了!51根本不值一提
###### info about youtube tech video
size:
flv 90mb divx 300mb time: 50min###### info about youtube tech video
size:
flv 90mb divx 300mb time: 50min@DontAsk:
51.com 一天增加 1T 数据。你说值得提一下么?
keenkuang@gmail.com
Thx!
呵呵,也不用太重阳没外。其实国内做的不错的也大有人在。只不过少有国外这么open的来谈罢了。国内的视频网站大多数在使用服务商的cdn,这样就用钱解决了不少问题,所以也有不少遗憾。。。
51.COM在CHINAJOY大会上给我的印象就是他们送的兜子最大。
前段时间每天在donews上都可以看到他们炒自己所谓的“招兵买马”。 上述文章虽然对于51.com只提及到了一次,但我想也是这篇文章的“核心”所在。非常不错的文章,对Youtube的架构有了点滴了解。
收藏至 向Fenng致谢www.9fav.com 也是基于lighttpd 的,但开发语言不详?