偷偷摘套内射激情视频,久久精品99国产国产精,中文字幕无线乱码人妻,中文在线中文a,性爽19p

優(yōu)酷網(wǎng)架構(gòu)學(xué)習(xí)筆記

運維 系統(tǒng)運維
今天我突然想到,優(yōu)酷網(wǎng)在國內(nèi)也算是視頻網(wǎng)站的老大了,不知道他的架構(gòu)相對于YouTube是怎么樣的,于是帶著這個好奇心去網(wǎng)上找了優(yōu)酷網(wǎng)架構(gòu)的各方面資料,雖然談得沒有YouTube那么詳細(xì),但多少還是挖掘了一點,現(xiàn)在總結(jié)一下,希望對喜歡架構(gòu)的朋友有所幫助。

記得以前給大家介紹過視頻網(wǎng)站龍頭老大YouTube的技術(shù)架構(gòu),相信大家看了都會有不少的感觸,互聯(lián)網(wǎng)就是這么一個神奇的東西。今天我突然想到,優(yōu)酷網(wǎng)在國內(nèi)也算是視頻網(wǎng)站的老大了,不知道他的架構(gòu)相對于YouTube是怎么樣的,于是帶著這個好奇心去網(wǎng)上找了優(yōu)酷網(wǎng)架構(gòu)的各方面資料,雖然談得沒有YouTube那么詳細(xì),但多少還是挖掘了一點,現(xiàn)在總結(jié)一下,希望對喜歡架構(gòu)的朋友有所幫助。

一、網(wǎng)站基本數(shù)據(jù)概覽

  • 據(jù)2010年統(tǒng)計,優(yōu)酷網(wǎng)日均獨立訪問人數(shù)(uv)達(dá)到了8900萬,日均訪問量(pv)更是達(dá)到了17億,優(yōu)酷憑借這一數(shù)據(jù)成為google榜單中國內(nèi)視頻網(wǎng)站排名***的廠商。
  • 硬件方面,優(yōu)酷網(wǎng)引進的戴爾服務(wù)器主要以 PowerEdge 1950與PowerEdge 860為主,存儲陣列以戴爾MD1000為主,2007的數(shù)據(jù)表明,優(yōu)酷網(wǎng)已有1000多臺服務(wù)器遍布在全國各大省市,現(xiàn)在應(yīng)該更多了吧。

二、網(wǎng)站前端框架

從一開始,優(yōu)酷網(wǎng)就自建了一套CMS來解決前端的頁面顯示,各個模塊之間分離得比較恰當(dāng),前端可擴展性很好,UI的分離,讓開發(fā)與維護變得十分簡單和靈活,下圖是優(yōu)酷前端的模塊調(diào)用關(guān)系:

這樣,就根據(jù)module、method及params來確定調(diào)用相對獨立的模塊,顯得非常簡潔。下面附一張優(yōu)酷的前端局部架構(gòu)圖:

 

三、數(shù)據(jù)庫架構(gòu)

應(yīng)該說優(yōu)酷的數(shù)據(jù)庫架構(gòu)也是經(jīng)歷了許多波折,從一開始的單臺MySQL服務(wù)器(Just Running)到簡單的MySQL主從復(fù)制、SSD優(yōu)化、垂直分庫、水平sharding分庫,這一系列過程只有經(jīng)歷過才會有更深的體會吧,就像MySpace的架構(gòu)經(jīng)歷一樣,架構(gòu)也是一步步慢慢成長和成熟的。

1、簡單的MySQL主從復(fù)制:

MySQL的主從復(fù)制解決了數(shù)據(jù)庫的讀寫分離,并很好的提升了讀的性能,其原來圖如下:

其主從復(fù)制的過程如下圖所示:

但是,主從復(fù)制也帶來其他一系列性能瓶頸問題:

  1. 寫入無法擴展
  2. 寫入無法緩存
  3. 復(fù)制延時
  4. 鎖表率上升
  5. 表變大,緩存率下降

那問題產(chǎn)生總得解決的,這就產(chǎn)生下面的優(yōu)化方案,一起來看看。

 

2、MySQL垂直分區(qū)

如果把業(yè)務(wù)切割得足夠獨立,那把不同業(yè)務(wù)的數(shù)據(jù)放到不同的數(shù)據(jù)庫服務(wù)器將是一個不錯的方案,而且萬一其中一個業(yè)務(wù)崩潰了也不會影響其他業(yè)務(wù)的正常進行,并且也起到了負(fù)載分流的作用,大大提升了數(shù)據(jù)庫的吞吐能力。經(jīng)過垂直分區(qū)后的數(shù)據(jù)庫架構(gòu)圖如下:

然而,盡管業(yè)務(wù)之間已經(jīng)足夠獨立了,但是有些業(yè)務(wù)之間或多或少總會有點聯(lián)系,如用戶,基本上都會和每個業(yè)務(wù)相關(guān)聯(lián),況且這種分區(qū)方式,也不能解決單張表數(shù)據(jù)量暴漲的問題,因此為何不試試水平sharding呢?

 

3、MySQL水平分片(Sharding)

這是一個非常好的思路,將用戶按一定規(guī)則(按id哈希)分組,并把該組用戶的數(shù)據(jù)存儲到一個數(shù)據(jù)庫分片中,即一個sharding,這樣隨著用戶數(shù)量的增加,只要簡單地配置一臺服務(wù)器即可,原理圖如下:

如何來確定某個用戶所在的shard呢,可以建一張用戶和shard對應(yīng)的數(shù)據(jù)表,每次請求先從這張表找用戶的shard id,再從對應(yīng)shard中查詢相關(guān)數(shù)據(jù),如下圖所示:

但是,優(yōu)酷是如何解決跨shard的查詢呢,這個是個難點,據(jù)介紹優(yōu)酷是盡量不跨shard查詢,實在不行通過多維分片索引、分布式搜索引擎,下策是分布式數(shù)據(jù)庫查詢(這個非常麻煩而且耗性能)

 

四、緩存策略

貌似大的系統(tǒng)都對“緩存”情有獨鐘,從http緩存到memcached內(nèi)存數(shù)據(jù)緩存,但優(yōu)酷表示沒有用內(nèi)存緩存,理由如下:

  1. 避免內(nèi)存拷貝,避免內(nèi)存鎖
  2. 如接到老大哥通知要把某個視頻撤下來,如果在緩存里是比較麻煩的

而且Squid 的 write() 用戶進程空間有消耗,Lighttpd 1.5 的 AIO(異步I/O) 讀取文件到用戶內(nèi)存導(dǎo)致效率也比較低下。

但為何我們訪問優(yōu)酷會如此流暢,與土豆相比優(yōu)酷的視頻加載速度略勝一籌?這個要歸功于優(yōu)酷建立的比較完善的內(nèi)容分發(fā)網(wǎng)絡(luò)(CDN),它通過多種方式保證分布在全國各地的用戶進行就近訪問——用戶點擊視頻請求后,優(yōu)酷網(wǎng)將根據(jù)用戶所處地區(qū)位置,將離用戶最近、服務(wù)狀況***的視頻服務(wù)器地址傳送給用戶,從而保證用戶可以得到快速的視頻體驗。這就是CDN帶來的優(yōu)勢,就近訪問,有關(guān)CDN的更多內(nèi)容,請大家Google一下。

原文:http://www.itivy.com/ivy/archive/2011/8/13/the-architecture-of-youku.html 

責(zé)任編輯:yangsai 來源: IT青藤屋
相關(guān)推薦

2009-08-28 10:57:42

linux操作系統(tǒng)linux學(xué)習(xí)目錄架構(gòu)

2019-10-22 08:00:04

物聯(lián)網(wǎng)架構(gòu)物聯(lián)網(wǎng)IOT

2022-07-27 08:00:00

物聯(lián)網(wǎng)架構(gòu)連接設(shè)備

2022-09-14 10:24:54

物聯(lián)網(wǎng)架構(gòu)物聯(lián)網(wǎng)

2011-07-25 13:15:34

Cocoa MVC 架構(gòu)

2015-09-22 14:30:45

物聯(lián)網(wǎng)網(wǎng)絡(luò)架構(gòu)

2023-04-12 15:33:39

光纖局域網(wǎng)架構(gòu)

2020-03-14 08:02:06

物聯(lián)網(wǎng)架構(gòu)通訊協(xié)議IOT

2017-11-08 05:53:07

物聯(lián)網(wǎng)架構(gòu)云計算云端

2017-12-26 15:52:31

MQ互聯(lián)網(wǎng)耦合

2021-01-12 21:20:38

物聯(lián)網(wǎng)架構(gòu)物聯(lián)網(wǎng)IOT

2020-01-03 22:14:01

物聯(lián)網(wǎng)大數(shù)據(jù)邊緣計算

2014-09-25 11:25:19

游戲引擎架構(gòu)設(shè)計

2020-11-23 08:16:51

線上系統(tǒng)優(yōu)化

2019-03-18 07:08:53

高可用互聯(lián)網(wǎng)架構(gòu)分布式

2019-05-13 10:30:34

互聯(lián)網(wǎng)架構(gòu)容量

2021-01-21 09:00:00

物聯(lián)網(wǎng)架構(gòu)數(shù)據(jù)

2016-12-06 11:56:13

互聯(lián)網(wǎng)架構(gòu)高可用

2016-09-22 15:55:39

互聯(lián)網(wǎng)架構(gòu)容量設(shè)計

2011-07-08 10:55:15

綜合布線
點贊
收藏

51CTO技術(shù)棧公眾號