如果炸掉谷歌最重要的伺服器,會摧毀整個谷歌帝國嗎?
雖然谷歌的每台伺服器都不可能完全一樣,但是沒有任何一個地方(不是10個也不是100個)只要被炸掉就能「摧毀」谷歌「帝國」的。
所有現代分散式系統(雲系統)設計中都包含了大量冗餘,作為基本原則,這其中也包括了地理冗餘。
任何破壞行為都無法真正削弱谷歌。
目前增值服務雲計算供應商(那些在基礎雲計算平台上構建應用程序的廠商)都在使用諸如AWS、GCP、Azure、Softlayer等提供冗餘服務的雲存儲平台,從而大大提高了企業向客戶提供的冗餘度。
任何足以永久破壞當今雲計算的事件,對於社會和經濟所造成的影響要遠比破壞雲計算本身要大得多。
基本上,沒什麼可能…因為伺服器掛了並不是什麼沒見過的問題了。
先做一個簡單數學。如果一台機器有0.01的概率會宕機。那麼有兩台機器,至少掛了一台的概率是多少?
這是1-(1-0.01)*(1-0.01)=0.0199。
看起來概率蠻低的。但是,如果一百台機器,至少掛了一台的概率呢?同樣的算式,會得到0.633。即大於百分之六十的概率,至少一台機器掛了。如果是一千台,那就是0.9999。即幾乎百分之集群里哪裡有機器掛了…這個計算,是我留學時,一個谷歌架構師來學校做演講提到的。
也許有人會覺得一千台機器很少見。其實這年頭,基本數據存儲都以集群為單位。大公司如谷歌臉書微軟等,都維護著許多數據中心,每個中心都有數以千計萬計的機器。這些數據中心,分散在世界各地。如臉書在北極圈內都有數據中心…而無數大規模的計算,也都是可能要跨越多個數據中心的。如谷歌的集群管理器Borg論文里提到,Borg調度以cell為單位,而cell的中值是一萬台機器…所以說不定,大部分的Borg作業,都會碰到機器掛了…
所以,其實「機器會不能用」,在有誰盤算著去炸之前,已經無時無刻不在發生著了。而解決方案呢,也簡單粗暴:「多複製幾份唄,放在不同的地方,丟了一個還有…別一下都丟了就行…」專業點,這叫冗餘。一份數據,上傳伺服器。其實會有好幾份一模一樣的。可能有一份在最近的數據中心,另一份在本國另一個城市的數據中心,還有一份,在地球另一端的某個數據中心…這可不是我編的,谷歌的分散式資料庫Spanner論文明確提到,谷歌的廣告服務,叫F1,就是用這樣的做法實現跨大陸的數據冗餘(順便一提,谷歌的絕大部分收入正是來自廣告)。而這還是2012年的論文了。
所以,就算伺服器沒了,在地球上的某個位置,還是會有所有的數據。一切都還在。只要再加入新的替代機器,就可以恢複數據冗餘。
因此呢,真的想摧毀谷歌的數據,只炸幾個伺服器大抵是不夠的。得有毀掉世界上多個地方數據中心的能力。這個,恐怕就不太現實了…
以上的部分,基於我的理解和印象,也許會有錯漏。如此的話,讓您見笑了,歡迎指正。我會更新答案的。
首先需要確定伺服器保存的數據有沒有備份,一般大一點的公司都有備份。而且備份在很多地方,兩個地方相距很遠!採取技術措施備份的地方是數據只進不出。
因此,毀滅任何一個數據伺服器都沒意思,能夠很快從備份中恢復!
推薦閱讀:
※懂電子產品的都不建議買oppo,這是為什麼?
※蘋果為什麼大於150M不讓下載或更新?
※手扶拖拉機和小四輪拖拉機是屬於淘汰產品嗎?取代他們的是什麼?
※一夜之間全世界的無線網都不安全了,我們該怎麼辦?
※怎么用小米产品构建智能家居?