大型视频网站的技术架构方案

大型视频网站的技术架构方案,第1张

国内的不清楚,给你看看YOUTUBE的

YouTube的架构扩展

在西雅图扩展性的技术研讨会上,YouTube的CuongDo做了关于YouTubeScalability的报告。视频内容在GoogleVideo上有(地址),可惜国内用户看不到。

KyleCordes对这个视频中的内容做了介绍。里面有不少技术性的内容。值得分享一下。(KyleCordes的介绍是本文的主要来源)

简单的说YouTube的数据流量,"一天的YouTube流量相当于发送750亿封电子邮件",2006年中就有消息说每日PV超过1亿,现在更夸张了,"每天有10亿次下载以及6,5000次上传",真假姑且不论,的确是超乎寻常的海量国内的互联网应用,但从数据量来看,怕是只有51com有这个规模但技术上和YouTube就没法子比了

1Web服务器

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。够省的。这一波Web20公司很少有用Oracle的(我知道的只有Bebo,参见这里)在扩展性方面,路线也是和其他站点类似,复制,分散IO。最终的解决之道是"分区",这个不是数据库层面的表分区,而是业务层面的分区(在用户名字或者ID上做文章,应用程序控制查找机制)

YouTube也用Memcached

大学学Python到底有啥用

Python小贴士

学Python

到底有什么用!

七大就业方向

总有一个适合你!

1Python爬虫工程师

爬虫技术就是用Python收集和爬

取互联网的信息,也是小伙伴们入坑

Python的第一驱动力。

爬虫技术之所以受宠是由干它能

大大地提高我们的工作效率。学会

Python爬虫后, 即使不做程序员的

工作也能加分不少。

(友情提示:注意法律风险)

技能要求

前端基础、Python爬虫库、JS反

爬、数据库等。

2Python数据分析师

在数据和黄金一样宝贵的时代,

对干许多公司而言,产品都建立在对

用户的分析之上。

所以, Python数据分析师也成了

目前最火的职业之一, 而Python是

目前数据分析业务中,最常用的语

言。

技能要求

统计学基础、Python的数据分析库

(Pandas、NumPy、mat plo lib) 、数

据库等。

3Web开发Python后端

Python有很多优秀的Web开发

框架, 如Flask、Django、Boot star

等,可以帮助你快速搭建一个网站。

像知平、豆瓣这样的大厂,最早

的网站都是用Python搭建的, 而国

外则更多, 如:YouTube、Insta gram

等代表世界顶级流量的大站。

技能要求

前端基础、Python基础、主流

Python Web框架(Flask、Django

等)。

4Python游戏开发

我们经常能看到在互联网上有人

分享自己制作的一些有意思的

Python小游戏, 求代码的小伙伴也

是络绎绝。

Python游戏开发的招聘集中在游

戏服务器领域,主要负责网络游戏的

服务器功能开发、性能优化等工作。

技能要求

Python、Python Web框架、

Linux、数据库、Ng in x等。

5Al人工智能工程师

人工智能是目前最火的方向之

一,薪资待遇很高,要求也相对较高。

Python是人工智能时代的首选

语言,不管是机器学习还是深度学

习,最常用的工具和框架都需要用

Python调用, 如:Numpy、pandas、

matplotlib、Py Torch等。

技能要求

统计学基础、Python、数据分析

库、机器学习、深度学习框架等。

6自动化运维工程师

运维工程师经常要监控上百台机

器的运行,或同时部署的情况。

使用Python可以自动化批量管

理服务器,起到1个人顶10个人的效

果。自动化运维也是Python的主要

应用方向之一,它在系统管理、文档

管理方面都有很强大的功能。

技能要求

Python、shell、Linux、数据库、

open pyx l库等

7自动化测试工程师

测试的工作是枯燥和重复的,在

过去,每次产品更新,都要重复测试

一遍,效率低而且容易出错。

Python提供了很多自动化测试

的框架, 如Selenium、Py test等, 避

免了大量的重复工作, Python自动

化测试也变得越来越流行。

技能要求

Python、自动化测试框架、Linux等

python环境在小鸟云云服务器装好后,就有一个IDLE工具,你找一下安装目录,自带的编辑器,在任意目录新建一个 aapy 文件,用记事本和IDLE工具都行,输入print("Hello World"),如果你使用的是IDLE,直接按F5,就能查看结果,如果用记事本,打开CMD,进入这个目录,输入命令python aapy就出来结果了。

DABAN RP主题是一个优秀的主题,极致后台体验,无插件,集成会员系统
网站模板库 » 大型视频网站的技术架构方案

0条评论

发表评论

提供最优质的资源集合

立即查看 了解详情