閱讀621 返回首頁    go 技術社區[雲棲]


玩轉數據中心:Twitter複製穀歌成名秘密武器

 伯格的回歸:Twitter如何重建穀歌秘密武器

Twitter的本海因德曼

《連線》周二刊登了一篇署名為卡德梅茨(Cade Metz)的評論文章,借穀歌網絡帝國最核心的軟件係統伯格(Borg)分析了Twitter如何重建穀歌的秘密武器。

原文如下:

約翰威爾克斯(John Wilkes)說,加入穀歌就象是《黑客帝國》中的尼歐(Neo)吞下紅藥丸一樣,那就是選擇了覺醒。

4年前,威爾克斯隻是知道穀歌這家公司而已。他與芸芸眾生一樣,每天的生活都與穀歌的各種服務如穀歌搜索、Gmail、穀歌地圖等息息相關。隨後,他加入了穀歌網絡帝國最核心的工程技術團隊,那個技術團隊就相當於穀歌的大腦,支持穀歌所有的網絡服務所需的最基本的硬件和軟件係統都是由他們設計的。

這些係統橫跨在一個全球性的數據中心網絡之上,每一秒處理的網絡指令高達數十億條。威爾克斯第一次看到那些係統工作時的場景時,他感覺自己就象是吞下了紅藥丸之後的尼歐一樣,擺脫了矩陣(Matrix)創造的虛擬世界,突然就看到了一個由無數機器組成的龐大網絡。

看著龐大的網絡,他變得不知所措了。要知道,他可是一位在惠普試驗室工作了25年的資深研究員,多年來一直在從事現代計算最先進技術的研究工作。

威爾克斯說:“我是過去時代的人,我認為兆級容量就已經很大了。但是等我到了穀歌之後,我必須在所有的數據後麵都加上3個0。”他解釋說,那種感覺就象是一個人從生活了很多年的小地方突然來到一個全新的廣闊天地一樣。在穀歌,某個存儲數據的係統剩餘的空間還剩幾個PB(存儲容量單位,1PB=1000GB=1000000MB)時,係統就會向管理員發出警報。換句話說,隻要幾個小時,穀歌數據中心裏的一組設備就會被海量的數據填滿。

當他還在絞盡腦汁地想象穀歌的數據中心帝國到底有多大時,威爾克斯接到任務,負責開發支持穀歌整個網絡帝國的軟件係統。

這個軟件係統被稱作“伯格”(Borg)係統,它也是穀歌之所以能夠迅速成為互聯網上最強大的力量背後的最隱秘的機密之一。威爾克斯甚至都不願叫它“伯格”。他說:“我寧願稱之為不會被命名的係統。”但他透露,穀歌使用該係統已有9、10年的光景了。他和他的團隊正在開發一個新版本的工具,產品代碼為“歐米茄”(Omega)。

伯格係統可以非常高效地將任務分配到穀歌數量龐大的計算機服務器中去。威爾克斯稱,這個係統的效率非常高,它可能幫穀歌省下了足以再多建一個數據中心的成本。沒錯,一個完整的數據中心。那也許看起來就象是天外來客一樣,從某種角度來說,它確實是天外來客。但是,穀歌為了運行其龐大的網絡帝國而開發的新時代硬件和軟件通常會慢慢地滲透到互聯網的各個角落。伯格係統也不例外。

在Twitter,有一個小規模的工程師團隊利用加州伯克萊大學的研究員們開發出來的一個名為“Mesos”的軟件平台開發出了一款類似的係統。由於“Mesos”平台是一款開源軟件,因此任何人都可以免費使用它,這個平台也逐漸在向其他領域擴展。

伯格這個名稱非常貼切。穀歌的這個係統就是一個中央大腦,可以控製穀歌所有數據中心上的全部任務。穀歌不用為每一個軟件係統如穀歌搜索、Gmail、穀歌地圖等各搭建一組獨立的服務器,它隻需搭建一組服務器來同時執行各種不同的任務就行了。所有的任務都會被分割成細小的任務,然後由伯格係統將那些任務發送到它能找到空閑計算資源的地方。

威爾克斯說,這就好像是一大堆積木一樣,每塊積木的外形和大小都是不同的。伯格係統的任務就是找到一種將所有的積木都裝入木桶中的方法。這裏所說的積木就好比是計算機任務,木桶就好比是服務器,關鍵是不能浪費木桶中的任何空間。

威爾克斯說:“如果你隻是簡單地將積木丟到木桶裏,那麼你要麼會剩下很多積木裝不進去,要麼會造成有的木桶裝得滿,有的木桶裝不滿的情況,因為積木與積木之間貼合得並不緊密,那樣就會浪費掉不少的空間。但是如果你細心去安排如何裝積木的話,你就可以減少木桶的需用量。”

還有其他的方法可以做到這一點。你可以利用服務器虛擬化技術來達到相同的目的。但是虛擬化會額外增加不必要的複雜性,如果去掉這個因素,穀歌就可以將數據中心基礎設施的規模減小幾個百分點。考慮到穀歌數據中心網絡的規模,那幾個百分點對應的可能就是一個完整的數據中心。

威爾克斯說:“那就相當於另外再建一個數據中心,這裏增加一點,那裏增加一點,最後匯總起來,那就是一大筆開支。”

在Twitter,Mesos並不具備與伯格係統一樣規模的影響力。Twitter的業務規模比穀歌的業務規模要小得多,但是Twitter的業務總是在不斷的發展壯大,Mesos可以更好地控製業務規模的增長速度。伯格和Mesos並不隻是從服務器群中提取計算能力。它們可以讓穀歌和Twitter那樣的公司將數據中心當做一台設備來對待。

穀歌和Twitter可以象你在你的台式機電腦上運行軟件那樣在這些計算設備上運行軟件。這樣就可以簡化Gmail、穀歌地圖和Twitter應用的開發人員的工作。

曾經在加州伯克萊大學創立Mesos項目、目前在Twitter擔任Mesos項目總監的本海因德曼(Ben Hindman)稱:“Mesos可以簡化Twitter工程師的工作,他們隻需考慮在一個數據中心的平台上運行他們開發的應用軟件就行了。那真的是很棒。”

最後更新:2017-04-03 22:15:47

  上一篇:go “天網”降臨 機器人或將崛起?
  下一篇:go 英特爾重定義Hadoop核心:優化CPU