當程式下載速度慢如蝸牛,Google專屬團隊幫你解決!

當程式下載速度慢如蝸牛,Google專屬團隊幫你解決!

Photo: alykat/ Flickr

下載中斷是再正常不過的事,但對知名Google程式設計師菲茲派翠克(Brad Fitzpatrick)來說,這件事情太難以忍受。

令人不耐的下載速度

其實他並不孤單,多年來很多人都曾抱怨dl.google.com系統不夠穩定。

這個系統非常重要,任務範圍幾乎涵蓋所有Google下載任務,包括Chrome瀏覽器安裝、Android原始程式碼,以及較小的JavaScript。但,問題是該檔案伺服器系統的基礎代碼已經超過五年,相當老舊。

菲茲派翠克認為代碼必須不斷更新提升,最初的C++語言缺乏規範的文檔,自動化測試也未達水準,沒有人能搞懂它,只是不斷做一些小幅改變。最後在負責維護的程式人員眼裡,這些代碼根本是一團糟。

不穩定的系統讓伺服器運營團隊相當苦惱,但沒有人有時間重寫代碼。於是菲茲派翠克自告奮勇接手,他在Google底下的25人工程師團隊——地鼠隊(Gopher Team)中,負責開發一種程式設計語言命名為Go。這個機會讓他非常興奮。

兩年內Go將稱霸雲端?

Go語言的目標是要能處理大規模用戶,同時又要能像C++語言那樣迅速。一個能夠處理大規模下載請求的分散式檔案系統正是Go所長。而以Go語言編寫的dl.google.com軟體代碼上簡潔不少,所占記憶體也更少,更重要的是,更加可靠。

菲茲派翠克表示,Google團隊在用Go處理集群和檔案傳輸時進行了很多改進。項目大獲成功後,Go團隊開始經常幫助其他團隊完成小型計畫。

而Go語言目前在Google以外的應用還不多,但已經引起業界注意。前VMware雲端平台技術長柯里森(Derek Collison)曾稱,Go語言2年內將成為雲端運算的主流語言。

柯里森對Go的預言或許有些過頭,但他新創立的雲端運算公司Apcera的確已經使用Go語言,而且Google自己就是Go的最佳代言人,新的dl.google.com系統的可靠性已經大幅改善。

 

推薦閱讀:

Google號稱「最棒的客廳產品」Chromecast誕生!

最WIRED的職業遊戲玩家:18歲電玩小子靠YouTube廣告籌學費!

蘋果、Google兩大龍頭新發表一籮筐,程式開發者今夏忙翻天!