YouTube技术架构
谈不上翻译,就是摘录
1 billion video views per day
1.Apache
2.Python
3.Linux (SuSe)
4.MySQL
5.psyco, a dynamic python->C compiler
6.lighttpd for video instead of Apache
-->NetScaler-->Apache plus Lighttpd(for video/multiple process)-->Python-app-server(format html)->databases(MySQL to ...)
|
Client |->CDN (popular content)-->Youtube Server(less popular)
Keep it simple and cheap
Keep a simple network path
Use commodity hardware
Use Simple common tools provided by os
MySQL -->database partioning with users assigned to different shards
spreads writes and reads
replica lag(备份延迟?) 0
colocation arrangement
Use 5 or 6 data centers plus the CDN
8.Images are replicated to different data centers using BigTable
Stall for time. Creative and risky tricks can help you cope in the short term while you work out longer term solutions
做最重要的事情
outsource service for short time to market
Keep it simple
Shard or partition
Constant interation on bottlenecks
Succeed as a team
FastCGI
1) CGI是WebServer与其他独立进程交互的工具,FastCGI常驻内存,不必每次都fork一个子进程,从而提升了效率
I found this information interesting:
The application code is written mostly in Python (the web app is not the bottleneck… the database RPC is)
They use Apache for page content and lighttpd for serving video
Thumbnails are now served by Google’s BigTable
They’re running SuSE Linux with MySQL
HW RAID-10 across multiple disks was too slow. HW RAID-1 with SW RAID-0 was faster because the Linux I/O scheduler could see the multiple volumes and would therefore schedule more I/O
Citrix 05年收购了NetScaler (http server/load balancer/发布平台)
原文:http://highscalability.com/youtube-architecture
最新文章
- ASP.NET Web API Model-ModelMetadata
- 完全删除TFS2013上的项目
- Codeforces Round B. Buttons
- JavaScript 运动框架
- MySQL编译安装错误:No curses/termcap library found的解决方法
- Linux系统查看系统是32位还是64位方法总结【转】
- 通过Messenger与后台连接(单向操作,activity向service发送数据)
- 访问ControlTemplate内部的元素
- 第一部分 Android MediaPlayer 概述
- form验证及图片上传
- Android抽屉(SlidingDrawer --类似android通知栏下拉效果)
- C++ Primer Plus 6 第二章
- 在安卓代码中dp 和 sp 换算px
- mysql并发控制之MVCC
- WEB UI 上传URL附件(使用方法备份)
- Nikto学习点
- Ansible 简介
- Shell-find . -type f -name ";*.log"; -print0 | xargs -0 rm -f
- css3中trastion,transform,animation基本的了解
- 就qq软件的优缺点