YouTube 的架构扩展
在西雅图扩展性的技术研讨会上,YouTube 的 Cuong Do 做了关于 YouTube Scalability 的报告。视频内容在 Google Video 上有(地址),可惜国内用户看不到。
Kyle Cordes 对这个视频中的内容做了介绍。里面有不少技术性的内容。值得分享一下。(Kyle Cordes 的介绍是本文的主要来源)
简单的说 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 站点不多,豆瓣用的比较舒服。by Fenng)
2. 视频
视频的缩略图(Thumbnails)给服务器带来了很大的挑战。每个视频平均有4个缩略图,而每个 Web 页面上更是有多个,每秒钟因为这个带来的磁盘 IO 请求太大。YouTube 技术人员启用了单独的服务器群组来承担这个压力,并且针对 Cache 和 OS 做了部分优化。另一方面,缩略图请求的压力导致 Lighttpd 性能下降。通过 Hack Lighttpd 增加更多的 worker 线程很大程度解决了问题。而最新的解决方案是起用了 Google 的 BigTable, 这下子从性能、容错、缓存上都有更好表现。看人家这收购的,好钢用在了刀刃上。
出于冗余的考虑,每个视频文件放在一组迷你 Cluster 上,所谓 "迷你 Cluster" 就是一组具有相同内容的服务器。最火的视频放在 CDN 上,这样自己的服务器只需要承担一些"漏网"的随即访问即可。YouTube 使用简单、廉价、通用的硬件,这一点和 Google 风格倒是一致。至于维护手段,也都是常见的工具,如 rsync, SSH 等,只不过人家更手熟罢了。
3. 数据库
YouTube 用 MySQL 存储元数据--用户信息、视频信息什么的。数据库服务器曾经一度遇到 SWAP 颠簸的问题,解决办法是删掉了 SWAP 分区! 管用。
最初的 DB 只有 10 块硬盘,RAID 10 ,后来追加了一组 RAID 1。够省的。这一波 Web 2.0 公司很少有用 Oracle 的(我知道的只有 Bebo,参见这里). 在扩展性方面,路线也是和其他站点类似,复制,分散 IO。最终的解决之道是"分区",这个不是数据库层面的表分区,而是业务层面的分区(在用户名字或者 ID 上做文章,应用程序控制查找机制)
YouTube 也用 Memcached.
分享到:
相关推荐
在实施大型视频网站架构方案时,还需要考虑以下几个关键点: 1. 内容分发网络(CDN):通过在全球各地部署服务器,CDN可以将视频内容缓存到离用户最近的节点,减少延迟,减轻源服务器压力,有效利用带宽资源。 2. ...
大型网站技术架构是构建可扩展、高可用、高性能的互联网应用的关键,面对着巨大的访问量和复杂的服务需求,需要精心设计和优化。2022年的优秀文档中,主要讨论了大型网站架构的目标、挑战以及各个关键子系统的介绍。...
大型网站技术架构通常指的是为满足大量用户访问、数据处理和高可用性要求所采用的一系列技术方案和设计原则。与传统的中小规模网站相比,大型网站在用户量、数据量、访问量等方面都呈现出巨大的规模,因此其架构设计...
【大型网站架构技术方案集锦】 PlentyOfFish是一个典型的Web 2.0网站,它选择了Windows .NET技术路线,不同于常见的LAMP架构。创始人Markus Frind仅凭一人之力便构建并维护了这个价值10亿美元的在线约会平台,每天...
《大型网站技术架构:核心原理与案例分析》这本书深入探讨了构建和优化大规模网站所需的关键技术和策略。在当今互联网行业中,随着用户数量的急剧增长,网站的规模也随之扩大,技术架构的设计变得至关重要。本书旨在...
该网站架构完整方案是为某某大型重点综合性新闻门户网站设计的,旨在提供一个安全、可靠、方便、高效的网站平台,满足新闻发布、信息传播、内容管理、社区交流等多方面的需求。 二、需求分析 根据需求分析,网站...
综上所述,大型网站架构涉及众多技术栈和最佳实践,每个环节都需要精心设计和优化,以确保网站能够应对不断增长的用户需求和复杂度。通过学习和掌握这些知识,开发者能够构建出更强大、更可靠的网络应用。
《大型网站技术架构-核心原理与案例分析》这本书深入探讨了构建和优化大规模Web应用程序的关键技术和策略。在当今互联网时代,大型网站面临着高并发、大数据量、高可用性以及快速响应用户需求等挑战,因此,理解和...
通过以上几个方面的详细介绍,我们可以看出,一份完整的大型网站架构设计方案需要覆盖多个维度,不仅包括基础的技术选型和技术实现,还需要深入理解业务场景和用户需求。只有这样,才能构建出既满足功能需求又具有...
知识点五:视频网站建设的技术架构 视频网站建设的技术架构包括: * 流媒体技术 * 视频 encoding 和 decoding * 视频流媒体服务器 * 视频播放器 * 视频管理系统 知识点六:企业视频网站的安全性 企业视频网站的...
百度贴吧,作为百度旗下的一个大型综合性社区,不仅包含传统的讨论区,还涵盖了视频、相册、游戏等多个板块,这使得其技术架构必须能够应对海量数据存储、高并发访问、数据安全与快速迭代的挑战。 ### 百度贴吧的...
根据提供的文件信息,我们需要从文件标题和描述中生成有关大型视频监控网络方案设计的知识点,同时解释给定部分内容中提及的专业术语和相关技术。以下是对标题、描述和部分内容的详细解析: 标题:“大型视频监控...
【标题】"BIGO全球音视频技术解决方案doc文档合集整理.zip" 提供的是BIGO公司在全球范围内实施的音视频技术解决方案的相关文档集合。BIGO是一家知名的全球化科技公司,尤其在直播、视频通信领域有着深厚的技术积累。...
本资源摘要信息是关于大型视频监控网络方案设计的详细介绍。该方案是一个基于IP宽带网的分布式视频监控解决方案,具有开放的体系架构、稳定的系统性能、丰富的业务体验和电信级运营维护的特点。该方案可为各行业管理...
《大型视频监控网络方案设计》文档详述了UT斯达康奔流?(RollingStream?)视频监控方案,这是一个基于IP宽带网的分布式视频监控系统,特别适用于政府、公安、交通、企业等多个领域的监控需求。该方案的核心优势在于...
### 大型房地产网站方案知识点解析 #### 一、***工作室对房地产与互联网的理解 - **传统房地产营销模式**:传统的房地产营销主要依赖于报纸、电视等传统媒体进行信息传播,这种方式存在信息传递效率低、反馈机制不...
### 大型门户网站架构心得详解 #### 一、引言 随着互联网技术的快速发展与用户需求的日益增长,大型门户网站面临着前所未有的挑战。如何构建一个高效、稳定且可扩展的架构成为了众多技术人员关注的重点。本文将...