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