按:此爲客座博文系列。投稿人吳朱華曾在IBM中國研究院從事與雲計算相關的研究,現在正致力於研究雲計算技術。 本文是基於現有的公開資料和個人的經驗來對Google的整體架構進行總結和猜想。
在軟件工程界,大家有一個共識,那就是"需求決定架構",也就是說,架構的發展是爲了更好地支撐應用。那麼本文在介紹架構之前,先介紹一下 Google所提供的主要產品有哪些?
產品對於Google和它幾個主要產品,比如搜索和郵件等,大家已經非常熟悉了,但是其提供服務的不只於此,並主要可分爲六大類:
設計理念根據現有的資料,Google的設計理念主要可以總結出下面這六條:
整體架構的猜想在整體架構這部分,首先會舉出Google的三種主要工作負載,接着會試着對數據中心進行分類,最後會做一下總結。
三種工作負載
對於Google而言,其實工作負載並不僅僅只有搜索這一種,主要可以被分爲三大類:
兩類數據中心
按照2008年數據,Google在全球有37個數據中心,其中19個在美國,12個在歐洲,3個在亞洲(北京、香港、東京),另外3個分佈於俄羅 斯和南美。下圖顯示其中36個數據中心在全球的分佈:
圖1. 2008年Google全球數據中心分佈圖
根據 Jeffrey Dean 在2009年末的一次演講和最近幾期季報可以推測出Google並沒有在2009年過多地增加全球數據中心的數量,總數應該還是稍多於36個,但很有可能 在臺灣、馬來西亞、立陶宛等地增加新的數據中心。
雖然Google擁有數據中心數量很多,但是它們之間存在一定的差異,而且主要可以分爲兩類:其一是巨型數據中心,其二是大中型數據中心。
巨型數據中心:服務器規模應該在十萬臺以上,常坐落於發電廠旁以獲得更廉價的能源,主要用於Google內部服 務,也就是內容交付服務,而且在設計方面主要關注成本和吞吐量,所以引入了大量的定製硬件和軟件,來減低PUE並提升處理量,但其對SLA方面要求不是特 別嚴厲,只要保證絕大部分時間可用即可。下圖是Google巨型數據中心的一個代表,這個數據中心位於美國俄勒岡州北部哥倫比亞河畔的Dalles市,總 佔地面積接近30英畝,並佔用了附近一個1.8GW水力發電站的大部分電力輸出,當這個數據中心全部投入使用後,將消耗103兆瓦的電力,這相當於一箇中 小型城市的整個生活用電。
圖2. Google在美國俄勒岡州哥倫比亞河畔的巨型數據中心近景圖
大中型數據中心:服務器規模在千臺至萬臺左右,可用於本地交互或者關鍵業務,在設計方面上非常重視延遲和高可用 性,使得其坐落地點儘可能地接近用戶而且採用了標準硬件和軟件,比如Dell的服務器和MySQL的數據庫等,常見的PUE大概在1.5和1.9之間。本 來坐落於北京朝陽區酒仙橋附近的"世紀互聯"機房的Google中國數據中心也屬於大中型數據中心這類,其採用的硬件有DELL的工作站和Juniper 的防火牆等,下圖爲其一角。
圖3. Google前中國數據中心的一角(參[26])
關於兩者的區別:具體請查看下錶:
表1. 巨型與大中型數據中心的對比表
總結
最後,稍微總結一下,首先,普通的用戶當訪問Google服務時,大多會根據其請求的IP地址或者其所屬的ISP將這個請求轉發到用戶本地的數據中 心,如果本地數據中心無法處理這個請求,它很有可能將這個請求轉發給遠端的內容交互中心。其次,當廣告客戶想接入Google的廣告系統時,這個請求會直 接轉發至其專業的關鍵業務數據中心來處理。
圖4. 總結
因爲本文是基於現有的公開資料和個人的經驗的總結和猜想,所以和Google實際的運行情況沒有任何聯繫。
|
Google整體架構猜想
|
發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章
職場上,不知道這些,活該工資比人低一倍
dengjigong
2020-07-07 22:41:25
你介意別人修改你的代碼嗎?
三笑咖啡
2020-07-07 19:53:26
項目經理只能考PMP嗎?最全的證書信息分享給你們
逸尘谈PM
2020-07-07 15:46:30
讓我思潮翻滾的IBM面試內容
huagong_adu
2020-07-07 14:51:24
假話全不說,真話不全說---------《程序員筆試面試寶典》
love-xiao-forever
2020-07-07 06:38:44
學會這些,不做委屈的項目經理
逸尘谈PM
2020-07-07 01:06:24
什麼纔是真正的項目團隊,我來告訴你需要做哪些
逸尘谈PM
2020-07-07 01:06:14
公司爲招大廠程序員,把老員工辭掉,一個月後公司炸了
全栈工程师老黄
2020-07-07 00:41:35
互聯網現實生活:在大公司做程序員 vs 在小公司做程序員
全栈工程师老黄
2020-07-07 00:41:35
程序員不願意996工作制,老闆建議離婚!第二天後:我離職吧
全栈工程师老黄
2020-07-07 00:41:35
程序員自曝:去事業單位後每晚9點週六也加班,結果被領導談話
全栈工程师老黄
2020-07-07 00:41:35
程序員被辭退,臨走時把新員工辦公桌擦一遍,老闆:交5萬罰款
全栈工程师老黄
2020-07-07 00:41:35
【五方面保養電腦延長壽命】
南山养鹿人
2020-07-06 16:06:57
【兩方面正確愛護我們的鍵盤與電源】
南山养鹿人
2020-07-06 16:06:57