婷婷综合国产,91蜜桃婷婷狠狠久久综合9色 ,九九九九九精品,国产综合av

主頁 > 知識庫 > 分析整理YouTube網(wǎng)站用到的技術架構及擴展經(jīng)驗

分析整理YouTube網(wǎng)站用到的技術架構及擴展經(jīng)驗

熱門標簽:七臺河商家地圖標注注冊 勝威電話外呼系統(tǒng)密碼 威海語音外呼系統(tǒng)廠家 個人家庭地圖標注教程 廣安電銷外呼系統(tǒng) 徐州穩(wěn)定外呼系統(tǒng)代理商 百度高德騰訊地圖標注公司 搜地圖標注怎么找店鋪 百度地圖標注不能編輯

YouTube發(fā)展迅速,每天超過1億的視頻點擊量,但只有很少人在維護站點和確保伸縮性。這點和PlentyOfFish類似,少數(shù)人維護龐大系統(tǒng)。是什么原因呢?放心絕對不是靠人品,也不是靠寂寞,下面就來看看YouTube的整體技術架構吧。

平臺
    
Apache
Python
Linux(SuSe)
MySQL
psyco,一個動態(tài)的Python到C的編譯器
lighttpd代替Apache做視頻查看/strong>

狀態(tài)

支持每天超過1億的視頻點擊量
成立于2005年2月
于2006年3月達到每天3千萬的視頻點擊量
于2006年7月達到每天1億的視頻點擊量
2個系統(tǒng)管理員,2個伸縮性軟件架構師
2個軟件開發(fā)工程師,2個網(wǎng)絡工程師,1個DBA/strong>

Web服務器

1,NetScaler用于負載均衡和靜態(tài)內容緩存
2,使用mod_fast_cgi運行Apache
3,使用一個Python應用服務器來處理請求的路由
4,應用服務器與多個數(shù)據(jù)庫和其他信息源交互來獲取數(shù)據(jù)和格式化html頁面
5,一般可以通過添加更多的機器來在Web層提高伸縮性
6,Python的Web層代碼通常不是性能瓶頸,大部分時間阻塞在RPC
7,Python允許快速而靈活的開發(fā)和部署
8,通常每個頁面服務少于100毫秒的時間
9,使用psyco(一個類似于JIT編譯器的動態(tài)的Python到C的編譯器)來優(yōu)化內部循環(huán)
10,對于像加密等密集型CPU活動,使用C擴展
11,對于一些開銷昂貴的塊使用預先生成并緩存的html
12,數(shù)據(jù)庫里使用行級緩存
13,緩存完整的Python對象
14,有些數(shù)據(jù)被計算出來并發(fā)送給各個程序,所以這些值緩存在本地內存中。這是個使用不當?shù)牟呗浴?/p>

應用服務器里最快的緩存將預先計算的值發(fā)送給所有服務器也花不了多少時間。只需弄一個代理來監(jiān)聽更改,預計算,然后發(fā)送。

視頻服務

1,花費包括帶寬,硬件和能源消耗
2,每個視頻由一個迷你集群來host,每個視頻被超過一臺機器持有
3,使用一個集群意味著:
   -更多的硬盤來持有內容意味著更快的速度
   -failover。如果一臺機器出故障了,另外的機器可以繼續(xù)服務
   -在線備份
4,使用lighttpd作為Web服務器來提供視頻服務:
   -Apache開銷太大
   -使用epoll來等待多個fds
   -從單進程配置轉變?yōu)槎噙M程配置來處理更多的連接
5,大部分流行的內容移到CDN:
  -CDN在多個地方備份內容,這樣內容離用戶更近的機會就會更高
  -CDN機器經(jīng)常內存不足,因為內容太流行以致很少有內容進出內存的顛簸
6,不太流行的內容(每天1-20瀏覽次數(shù))在許多colo站點使用YouTube服務器
  -長尾效應。一個視頻可以有多個播放,但是許多視頻正在播放。隨機硬盤塊被訪問
  -在這種情況下緩存不會很好,所以花錢在更多的緩存上可能沒太大意義。
  -調節(jié)RAID控制并注意其他低級問題
  -調節(jié)每臺機器上的內存,不要太多也不要太少 /strong>

視頻服務關鍵點
    
1,保持簡單和廉價
2,保持簡單網(wǎng)絡路徑,在內容和用戶間不要有太多設備
3,使用常用硬件,昂貴的硬件很難找到幫助文檔
4,使用簡單而常見的工具,使用構建在Linux里或之上的大部分工具
5,很好的處理隨機查找(SATA,tweaks)

縮略圖服務

1,做到高效令人驚奇的難
2,每個視頻大概4張縮略圖,所以縮略圖比視頻多很多
3,縮略圖僅僅host在幾個機器上
4,持有一些小東西所遇到的問題:
   -OS級別的大量的硬盤查找和inode和頁面緩存問題
   -單目錄文件限制,特別是Ext3,后來移到多分層的結構。內核2.6的最近改進可能讓 Ext3允許大目錄,但在一個文件系統(tǒng)里存儲大量文件不是個好主意
   -每秒大量的請求,因為Web頁面可能在頁面上顯示60個縮略圖
   -在這種高負載下Apache表現(xiàn)的非常糟糕
   -在Apache前端使用squid,這種方式工作了一段時間,但是由于負載繼續(xù)增加而以失敗告終。它讓每秒300個請求變?yōu)?0個
   -嘗試使用lighttpd但是由于使用單線程它陷于困境。遇到多進程的問題,因為它們各自保持自己單獨的緩存
   -如此多的圖片以致一臺新機器只能接管24小時
   -重啟機器需要6-10小時來緩存
5,為了解決所有這些問題YouTube開始使用Google的BigTable,一個分布式數(shù)據(jù)存儲:
   -避免小文件問題,因為它將文件收集到一起
   -快,錯誤容忍
   -更低的延遲,因為它使用分布式多級緩存,該緩存與多個不同collocation站點工作
   -更多信息參考Google Architecture,GoogleTalk Architecture和BigTable

數(shù)據(jù)庫
    
1,早期
   -使用MySQL來存儲元數(shù)據(jù),如用戶,tags和描述
   -使用一整個10硬盤的RAID 10來存儲數(shù)據(jù)
   -依賴于信用卡所以YouTube租用硬件
   -YouTube經(jīng)過一個常見的革命:單服務器,然后單master和多read slaves,然后數(shù)據(jù)庫分區(qū),然后sharding方式
   -痛苦與備份延遲。master數(shù)據(jù)庫是多線程的并且運行在一個大機器上所以它可以處理許多工作,slaves是單線程的并且通常運行在小一些的服務器上并且備份是異步的,所以slaves會遠遠落后于master
   -更新引起緩存失效,硬盤的慢I/O導致慢備份
   -使用備份架構需要花費大量的money來獲得增加的寫性能
   -YouTube的一個解決方案是通過把數(shù)據(jù)分成兩個集群來將傳輸分出優(yōu)先次序:一個視頻查看池和一個一般的集群
2,后期
   -數(shù)據(jù)庫分區(qū)
   -分成shards,不同的用戶指定到不同的shards
   -擴散讀寫
   -更好的緩存位置意味著更少的IO
   -導致硬件減少30%
   -備份延遲降低到0
   -現(xiàn)在可以任意提升數(shù)據(jù)庫的伸縮性

數(shù)據(jù)中心策略

1,依賴于信用卡,所以最初只能使用受管主機提供商
2,受管主機提供商不能提供伸縮性,不能控制硬件或使用良好的網(wǎng)絡協(xié)議
3,YouTube改為使用colocation arrangement。現(xiàn)在YouTube可以自定義所有東西并且協(xié)定自己的契約
4,使用5到6個數(shù)據(jù)中心加CDN
5,視頻來自任意的數(shù)據(jù)中心,不是最近的匹配或其他什么。如果一個視頻足夠流行則移到CDN
6,依賴于視頻帶寬而不是真正的延遲??梢詠碜匀魏蝐olo
7,圖片延遲很嚴重,特別是當一個頁面有60張圖片時
8,使用BigTable將圖片備份到不同的數(shù)據(jù)中心,代碼查看誰是最近的

關于擴展性的思考
以下雖然都不是什么新思想,但希望對你有所助益。
分而治之是擴展性技術的靈魂??紤]以層次化的方式完成所有的工作。這也是數(shù)據(jù)分片的癥結所在。要知道如何將數(shù)據(jù)分區(qū),以及如何將已分區(qū)的數(shù)據(jù)進行關聯(lián)??偠灾?,保持簡單與松散的耦合非常必要。
充分利用Python的動態(tài)特性,構建易于擴展的軟件架構。
近似的正確性。要相信監(jiān)控系統(tǒng)所報告的系統(tǒng)運行狀態(tài)。如果問題沒有出現(xiàn),就認為一切良好。
不一致的數(shù)據(jù)模型。例如,閱讀評論的人和寫評論的人對你刷新頁面的動作會有不同的反應,但也不必完全基于事務處理進行系統(tǒng)設計,這會顯得矯枉過正。我們依然需要不一致的數(shù)據(jù)模型。
分布式系統(tǒng)的隨機性。分布式系統(tǒng)就如同氣象系統(tǒng)一樣,對分布式系統(tǒng)進行調試會存在更多的隨機性。例如,緩存過期。一般情況下,服務器會將流行的視頻緩存24小時。如果一旦出現(xiàn)緩存同時過期的情況,服務器將同時開始緩存,荷載如聞驚雷!
最快的函數(shù)調用就是不做任何調用。合理設計事務處理發(fā)生的間隔和次數(shù)。
仔細觀察API,并做到心中有數(shù)。如何定義輸入、輸出?所有的函數(shù)調用本質上都是圍繞數(shù)據(jù)發(fā)生的,那在函數(shù)調用之后,又會發(fā)生什么?
在Python中運用RPC重定向。程序員是代碼的構建者,因此要做好約定。如果代碼不幸失敗了,還可以從RPC輸出中追查原因。
沒有完美的組件。一個組件的運行周期可能持續(xù)1-6個月,具體多久,誰也說不清。隨著時間的推移,我們會用Python和C重寫一些東西,這證明你正在淘汰舊的組件,當你觀察到一個新組件出現(xiàn)的時候,它誕生了。
沒有人了解整個系統(tǒng)的運作機制。因此,我們需要定義組件。視頻轉碼和視頻搜索截然不同,建立良好的數(shù)據(jù)規(guī)范非常重要。
效率與擴展性并重。最有效率的是用C實現(xiàn)進程,但這樣的方式缺乏擴展性。
著眼于宏觀層面、組件及其失敗的原因。使用RPC是否明智?內聯(lián)如何?進行分解研究,也許會發(fā)現(xiàn)不同之處。
重視算法。與其絞盡腦汁用Python來實現(xiàn)高效的算法,不如用它做些更有實用價值的事。在這方面,C語言有它的優(yōu)勢。
我們很少從事面向對象設計。我們使用了大量的名稱空間,使用類來組織數(shù)據(jù),但極少面向對象。
我樂意用下面的詞匯來形容我們的代碼樹:簡單、實用、優(yōu)雅、正交、可組合,這是我們的追求。


總結
YouTube解決問題的哲學只有一個詞:簡單。許多YouTube的產品最初只是源于一個簡單的Python腳本。這正是應了我們的一句老話,不積跬步,無以至千里;不積小流,無以成江海。

標簽:吳忠 威海 昭通 三明 婁底 云浮 臨沂 滁州

巨人網(wǎng)絡通訊聲明:本文標題《分析整理YouTube網(wǎng)站用到的技術架構及擴展經(jīng)驗》,本文關鍵詞  分析,整理,YouTube,網(wǎng)站,用到,;如發(fā)現(xiàn)本文內容存在版權問題,煩請?zhí)峁┫嚓P信息告之我們,我們將及時溝通與處理。本站內容系統(tǒng)采集于網(wǎng)絡,涉及言論、版權與本站無關。
  • 相關文章
  • 下面列出與本文章《分析整理YouTube網(wǎng)站用到的技術架構及擴展經(jīng)驗》相關的同類信息!
  • 本頁收集關于分析整理YouTube網(wǎng)站用到的技術架構及擴展經(jīng)驗的相關信息資訊供網(wǎng)民參考!
  • 推薦文章
    婷婷综合国产,91蜜桃婷婷狠狠久久综合9色 ,九九九九九精品,国产综合av
    欧美综合一区二区| 一本在线高清不卡dvd| 蜜臀久久99精品久久久久久9| 国产毛片精品视频| 欧美一区二区三区男人的天堂 | www国产成人免费观看视频 深夜成人网| 亚洲精品视频自拍| 91论坛在线播放| 亚洲精品免费在线播放| 日本道免费精品一区二区三区| 亚洲最新视频在线播放| 欧美日韩精品欧美日韩精品一| 亚洲综合丝袜美腿| 91福利小视频| 蜜桃视频一区二区三区| 久久久蜜桃精品| 91一区二区在线| 青青草精品视频| 国产欧美综合在线观看第十页| 成人精品免费网站| 依依成人综合视频| 精品1区2区在线观看| www.日本不卡| 久久aⅴ国产欧美74aaa| 亚洲欧洲国产日韩| 日本丰满少妇一区二区三区| 青青草伊人久久| 欧美国产欧美综合| 在线不卡一区二区| 丁香啪啪综合成人亚洲小说 | 亚洲国产精品99久久久久久久久| 国产91丝袜在线播放0| 亚洲自拍偷拍网站| 91精品国产91久久久久久最新毛片| 国产suv精品一区二区883| 天天综合色天天| 精品三级av在线| 色94色欧美sute亚洲线路一ni| 国产精品自拍网站| 国产精品白丝jk白祙喷水网站| 五月综合激情网| 亚洲在线视频一区| 亚洲精品国产精华液| 一区在线播放视频| 中文字幕日韩av资源站| 日韩伦理电影网| 亚洲一区视频在线| 亚洲欧美区自拍先锋| 亚洲欧美在线高清| 亚洲精品你懂的| 日本中文在线一区| 免费成人在线视频观看| 日本伊人色综合网| 国产老肥熟一区二区三区| 欧美少妇一区二区| 99精品视频免费在线观看| 成人久久久精品乱码一区二区三区| 国产成人免费在线| 成人福利视频在线看| 91麻豆免费观看| 欧美日韩国产影片| 日韩精品最新网址| 国产精品久久久久久久久免费桃花 | 久久综合九色综合久久久精品综合| 91精品国产91热久久久做人人| 日韩精品一区国产麻豆| www精品美女久久久tv| 亚洲三级在线看| 亚洲精品伦理在线| 亚洲中国最大av网站| 国产麻豆精品在线| 欧美中文字幕一区| 国产婷婷色一区二区三区四区| 日韩经典一区二区| 久久理论电影网| 国产成人精品一区二区三区四区 | 欧洲中文字幕精品| 欧美不卡在线视频| 热久久久久久久| 欧美二区在线观看| 麻豆精品新av中文字幕| 成人av资源站| 日韩欧美的一区二区| 亚洲欧美日韩综合aⅴ视频| 成人中文字幕在线| 成人午夜大片免费观看| 欧美日韩中文字幕一区| 国产清纯美女被跳蛋高潮一区二区久久w | 欧美网站一区二区| 91视频xxxx| 欧美日韩成人一区| 一区二区三区在线不卡| 色八戒一区二区三区| 久久九九久精品国产免费直播| 青青草97国产精品免费观看无弹窗版 | 国产亚洲一区二区在线观看| 视频一区二区国产| 欧美日韩在线一区二区| 日本伊人色综合网| 91精品国产综合久久久久久久久久| 亚洲欧美福利一区二区| 国产精品一线二线三线精华| 国产蜜臀97一区二区三区| 激情五月激情综合网| 国产精品麻豆久久久| 成人美女视频在线观看| 亚洲国产cao| 欧美一区二区大片| 亚洲一区国产视频| 91啪九色porn原创视频在线观看| 欧美激情艳妇裸体舞| 波多野结衣中文字幕一区| 久久久噜噜噜久久中文字幕色伊伊 | 国产精品538一区二区在线| 中文字幕av一区二区三区高| 欧美精品三级在线观看| 欧美一级在线观看| 亚洲精品高清在线| 91高清在线观看| 成人av免费在线播放| 麻豆精品国产传媒mv男同| 国产一区二区三区av电影 | 日韩精品一二三| 99精品国产热久久91蜜凸| 久久这里只有精品6| 亚洲成av人片一区二区三区| 亚洲人成小说网站色在线 | 欧美日韩国产电影| 国产乱码精品1区2区3区| 亚洲综合在线五月| 久久精品亚洲精品国产欧美kt∨| 日韩三级在线免费观看| 欧美午夜精品久久久久久超碰| 99精品视频在线播放观看| 高清av一区二区| 国产大陆精品国产| 国产一区二区在线免费观看| 亚洲国产视频a| 午夜久久久影院| 五月婷婷久久综合| 日韩福利电影在线观看| 国产一区二区三区免费| 亚洲国产毛片aaaaa无费看| 欧美一区二区三区色| 7777精品久久久大香线蕉| 欧美三级电影在线观看| 欧美美女一区二区三区| 欧美一区二区女人| 成人开心网精品视频| 91网页版在线| 色天使色偷偷av一区二区| 97久久精品人人做人人爽| 成人三级伦理片| 欧美精品第一页| 久久久久久久精| 一区在线播放视频| 午夜欧美视频在线观看| 宅男噜噜噜66一区二区66| 欧美不卡一区二区三区四区| 久久影院午夜论| 香蕉影视欧美成人| 国产精品一品二品| 欧美日韩在线播放三区| 1区2区3区精品视频| 亚洲精品一二三| 色婷婷精品久久二区二区蜜臀av| 精品福利视频一区二区三区| 免费久久精品视频| 欧美成人在线直播| 亚洲电影一级黄| 日韩精品成人一区二区三区| 成人晚上爱看视频| 亚洲免费观看高清| 白白色 亚洲乱淫| 亚洲精品亚洲人成人网| 91麻豆精品国产自产在线 | 久久久久久久久97黄色工厂| 午夜精品aaa| 精品91自产拍在线观看一区| 99精品久久只有精品| 一区二区免费视频| 日韩欧美电影在线| 99久久精品国产毛片| 午夜欧美视频在线观看| 久久综合色之久久综合| 欧美在线|欧美| 久久福利视频一区二区| 26uuu欧美| 97久久超碰精品国产| 亚洲一区在线免费观看| 91精品综合久久久久久| 国产乱色国产精品免费视频| 国产精品三级视频| 波多野结衣精品在线| 亚洲男人的天堂在线观看| 一本一本久久a久久精品综合麻豆| 亚洲一区日韩精品中文字幕| 欧美一区二区三区在线观看| 国产在线精品一区二区| 亚洲在线成人精品|