av网站免费线看精品_国产做a爱视频免费不_深爱激情网开心五月天_伊人五月天在线视频网

 
Google數(shù)據(jù)中心的秘密
發(fā)布時(shí)間:2008-07-16   瀏覽次數(shù):1187020
Google數(shù)據(jù)中心的秘密 Google提供全球大量的服務(wù),幾乎已經(jīng)快橫跨整個(gè)信息科技的服務(wù),但是Google數(shù)據(jù)中心的內(nèi)部運(yùn)作一直都是秘而不宣,許多人可能都碰過Google的服務(wù)出狀況,但是這些狀況總能在可容忍的范圍內(nèi)解決,你可能發(fā)現(xiàn)你的Gmail的容量一直在改變,是什么架構(gòu)讓空間像捏橡皮糖一樣越捏越大?前陣子Google的朋友Jeff Dean聊天中稍微揭開了公司基礎(chǔ)設(shè)施的神秘面紗。 Google的神秘面紗包括了: (1)軟件 (2)硬件 (3)叢集平行處理機(jī)置 Google軟件的三個(gè)核心要素:GFS(Google檔案系統(tǒng))、BigTable和MapReduce算法。而硬件卻是一般的服務(wù)器、處理器、硬盤、內(nèi)存等等。另一方面服務(wù)器的叢集能在半秒之內(nèi)響應(yīng)700至1,000臺(tái)服務(wù)器的搜尋請(qǐng)求。 根據(jù)Google的說法,GFS是"a scalable distributed file system for large distributed data-intensive applications. It provides fault tolerance while running on inexpensive commodity hardware, and it delivers high aggregate performance to a large number of clients". 是這個(gè)GFS的分布式檔案系統(tǒng),讓Google服務(wù)可以隨時(shí)長(zhǎng)出空間或是切去毀損的部分,而管理這個(gè)GFS的機(jī)置是BigTable。目前有超過0個(gè)叢集在執(zhí)行GFS,其中許多都包含數(shù)千臺(tái)主機(jī)。 GFS把一塊儲(chǔ)存的數(shù)據(jù)(通常是64MB),至少放在三臺(tái)稱為chunkserver的主機(jī)內(nèi)。 如果chunkserver發(fā)生故障,Master Server(主服務(wù)器)便負(fù)責(zé)把數(shù)據(jù)備份到一個(gè)新的地方。至少在儲(chǔ)存層級(jí),主機(jī)故障完全由GFS系統(tǒng)處理。 Google到底擁有多少臺(tái)服務(wù)器?據(jù)Dean表示,每個(gè)機(jī)柜存放40臺(tái)服務(wù)器。而根據(jù)某項(xiàng)估計(jì),Google目前在全球有36個(gè)資料中心,以每個(gè)中心有150個(gè)機(jī)柜計(jì)算,Google的服務(wù)器至少超過萬臺(tái),并且每天都在增加中...下圖是Google最早期的server rack,當(dāng)然目前的硬件比這個(gè)肯定更驚人了。 Google之所以成為Google,部分原因是他們推翻了計(jì)算機(jī)界的傳統(tǒng)作法。當(dāng)所有的超大型數(shù)據(jù)中心都使用主流服務(wù)器和軟件,Google的數(shù)據(jù)中心絕大部分是靠本身的技術(shù)構(gòu)建而成。Google把命運(yùn)操縱在自己手中,共同創(chuàng)辦人Larry Page鼓勵(lì)員工"別太相信有什么不可能的事情"。 要維持如此大規(guī)模的運(yùn)作,也許可以說全世界是卯起來操Google的架構(gòu),Google必須對(duì)每一臺(tái)機(jī)器抱有一種隨時(shí)可犧牲的態(tài)度。服務(wù)器制造商喜歡主打他們的高階主機(jī)承受故障或當(dāng)機(jī)的能力,但Google寧愿把錢投資在容錯(cuò)軟件上。他們認(rèn)為擁有兩倍數(shù)量但較不可靠的硬件,勝過一半數(shù)量但較可靠的硬件。你必須在軟件的層級(jí)提供可靠度,如果你有1萬臺(tái)主機(jī)在運(yùn)作,每天一定會(huì)有一些東西掛掉。這個(gè)跟我們一般的認(rèn)知確實(shí)有蠻大的差異,我們通常都希望有數(shù)量雖少,但功能穩(wěn)定的機(jī)器,而不愿意有一大籮筐兩光的機(jī)器。 每個(gè)新叢集上線的年,通常會(huì)發(fā)生1,000次個(gè)別主機(jī)的故障,數(shù)千次硬盤故障... 一次電力輸送問題,導(dǎo)致500至1,000臺(tái)主機(jī)失效約6小時(shí)... 次機(jī)柜損壞,每次造成40至80臺(tái)主機(jī)下線... 5次機(jī)柜搖晃,導(dǎo)致半數(shù)的網(wǎng)絡(luò)封包在傳送過程中遺失... 整個(gè)叢集至少一次重新上線,在兩天之內(nèi)的任何時(shí)間,影響5%的主機(jī)... 整個(gè)叢集還有一半的機(jī)率會(huì)過熱,在5分鐘之內(nèi)讓幾乎所有服務(wù)器當(dāng)機(jī),并且花上1到2天的時(shí)間恢復(fù)... 雖然Google用一般硬件組件來組裝其服務(wù)器,但卻不用傳統(tǒng)的封裝,他們要求Intel提供特制的主機(jī)板。Google目前在每40臺(tái)服務(wù)器的機(jī)柜外,包覆一層外殼,而不是每臺(tái)服務(wù)器有個(gè)別的外殼。 Google在04年開始設(shè)計(jì)的BigTable,用BigTable為所有數(shù)據(jù)提供若干結(jié)構(gòu),目前用在超過70個(gè)Google計(jì)劃,包括Google Maps、Google Earth、Blogger、Google Print、Orkut和核心搜尋索引。的BigTable實(shí)用范例管理橫跨數(shù)千臺(tái)主機(jī)、約6 PT(petabytes)的數(shù)據(jù)。 Google在03寫出版的MapReduce,讓該公司有辦法實(shí)際發(fā)揮那些資料的用處。舉例來說,MapReduce能找出某個(gè)特定字匯在Google的搜尋索引中出現(xiàn)的次數(shù)、列出所有特定字匯出現(xiàn)的網(wǎng)頁,和連結(jié)到某個(gè)特定網(wǎng)站的所有網(wǎng)站。 利用MapReduce,Google能用相對(duì)迅速的時(shí)間,建立一個(gè)包含"digital"、"network"和"society"三個(gè)字的所有網(wǎng)頁索引。"Dean說:「你必須能夠依序地橫跨數(shù)千臺(tái)主機(jī)作業(yè),才能在一個(gè)合理的時(shí)間內(nèi)完成這項(xiàng)工作! MapReduce軟件在Google內(nèi)部的應(yīng)用日漸增加,04年8月,該軟件執(zhí)行2.9萬項(xiàng)工作,到07年9月,已經(jīng)暴增到2萬項(xiàng)。在這段期間,完成一項(xiàng)工作的平均時(shí)間也從634秒降至395秒,而MapReduce的工作產(chǎn)出則從193 terabytes上升到約1.4萬terabytes。Dean說,Google在任何都要執(zhí)行約10萬項(xiàng)MapReduce工作,每一項(xiàng)工作占用400臺(tái)服務(wù)器,且需要5到10分鐘完成。 MapReduce像GFS,是特別設(shè)計(jì)用來回避服務(wù)器問題的。Dean表示:「當(dāng)某臺(tái)主機(jī)故障,主服務(wù)器知道那臺(tái)機(jī)器正在執(zhí)行什么工作,將命令其它主機(jī)接手那項(xiàng)map工作。你可能影響到100個(gè)map工作,但會(huì)有100臺(tái)主機(jī)接手那些工作! MapReduce的可靠度一度遭到嚴(yán)厲的試煉,當(dāng)時(shí)一個(gè)1,800臺(tái)服務(wù)器的叢集正進(jìn)行維護(hù)作業(yè),工作人員一次拔下80臺(tái)主機(jī)的插頭,同時(shí)另外1,7臺(tái)主機(jī)必須接下停頓的工作。Dean說:「速度變得有點(diǎn)慢,但工作全部完成。」而在一次04年的簡(jiǎn)報(bào)中,一個(gè)1,800臺(tái)叢集的系統(tǒng),承受了1,600臺(tái)服務(wù)器同時(shí)故障。 所以,Google數(shù)據(jù)中心的運(yùn)作似乎如魚得水,一切順利。但該公司還不滿足,列出了一長(zhǎng)串待改進(jìn)的事項(xiàng)。大多數(shù)公司都試圖找出如何平順地將工作在服務(wù)器之間轉(zhuǎn)移,但Google已經(jīng)超越了那項(xiàng)挑戰(zhàn),他們要能夠自由、平順,且自動(dòng)地,將工作在各個(gè)資料中心間轉(zhuǎn)移。 Dean說:「我們下一代的基礎(chǔ)設(shè)施要是一個(gè)能夠橫跨大區(qū)塊主機(jī)轉(zhuǎn)移,而非單一機(jī)器的系統(tǒng)!鼓壳,某些大型的檔案系統(tǒng)具有不同的名稱,如GFS/Oregon和GFS/Atlanta,但他們都是彼此的拷貝。他表示:「我們要一個(gè)單一的名稱集! Google種種獨(dú)創(chuàng)的系統(tǒng)替他們開創(chuàng)了天下,也建立了其它競(jìng)爭(zhēng)者很難跨過的門坎,但是隨著越來越復(fù)雜的環(huán)境,Google自己需要解決的問題,肯定挑戰(zhàn)會(huì)越來越大。
立即預(yù)約