图给服务器带来了很大的挑战。每个视频平均有4个缩略图,而每个web页面上更是有多个,每秒钟因为这个带来的磁盘io请求太大。youtube技术人员启用了单独的服务器群组来承担这个压力,并且针对cache和os做了部分优化。
另一方面,缩略图请求的压力导致pd性能下降。通过pd增加更多的worker线程很大程度解决了问题。而最新的解决方案是起用了google的bigtable,这下子从性能、容错、缓存上都有更好表现。看人家这收购的,好钢用在了刀刃上。
出于冗余的考虑,每个视频文件放在一组迷你r上,所谓‘迷你r’就是一组具有相同内容的服务器。最火的视频放在cdn上,这样自己的服务器只需要承担一些‘漏网‘的随即访问即可。youtube使用简单、廉价、通用的硬件,这一点和google风格倒是一致。至于维护手段,也都是常见的工具,如,ssh等,只不过人家更手熟罢了。
三。数据库!
youtube用mysql存储元数据--用户信息、视频信息什么的。数据库服务器曾经一度遇到swap颠簸的问题,解决办法是删掉了swap分区!管用。
最初的db只有10块硬盘,raid10。后来追加了一组raid1。够省的。这一波公司很少有用oracle的。在扩展性方面,路线也是和其他站点类似。复制,分散io。最终的解决之道是‘分区‘,这个不是数据库层面的表分区,而是业务层面的分区!
那么需要哪方面的技术人才呢,托前世在视频网站的那个工作,苏达还恰好知道九点!
一,架构知识!
架构是大型网站开发的重要部分。开发者已经从rails,django等公司提供的网站架构工具中收益,因为架构工具可以帮助完成那些需要一定编程知识的重复性的任务。如果你拥有领先的架构技术。你的择业面将非常广阔。
二,窗体小部件开发!
窗体小部件是一个嵌入网页的迷你应用程序,通常也可以下载到ac桌面下运行。它让数据变得便与携带而且更具交互性。比较出名的像、s和aol、music、s。窗体小部件开发除了需要掌握网络应用程序开发所需的语言知识,还需要精通javascript和flash知识。
三,内容管理系统主题定制!
未来越来越多人开始使用cms来构建他们的网站。可以想象不可能大家都用cms提供的默认主题,为了让自己的cms网站在外观设计上独树一帜,就需要一些专门给cms开发主题的技术人员。
四,内容管理系统的定制以及插件开发!
同样随着cms的流行,对cms的功能定制以及插件开发的需求也越来越大。
五,psd转换xhtml的服务!
在建站中。许多公司是先用shop设计好网站的外观原图,然后再转换成xhtml。这需要很强的css/html知识。
六,javascript的插件开发!
javascript的work非常流行。因为它使javascript的代码开发变得简单。就比如说现在流行的javascript-work-jquery,如果你在它的基础上开发优秀的插件,那么你的插件也会跟着流行起来。
七,应用程序开发!
k/两大社交网站在美国红遍半边天。给他们开发应用程序,不用说一定是相当热门的,同样给开发应用程序,也一直都可以被大量下载,因此也是很赚钱的活。所以,这方面的人才也非常的珍贵。
八。电子商务一体化!
未来电子商务网站与在线银行服务系统之间的配合越来越紧密,因此电子商务交易平台的开发也是相当有前途的。
九。flash和script知识!
越来越多的公司采用flash来制作自己的网站、展现自己的产品,因为精美的动画总是容易吸引人们的眼球。因此flash动画技术也必然迅速发展。
所以。掌握着未来技术发展历程的苏达,他相信,在全世界都还没有注意视频网站的时候,只要自己不出现太大的错误,那么未来网络娱乐传媒这一块,苏达相信他绝对能够代替未来的世界上最大的视频网站youtube,站在领头羊的位置,因为苏达知道视频网站的发展,需要什么,而别人还得摸着石头过河!(未完待续)
...