Go 始於 2007 年 9 月,當時 Robert Griesemer、Ken Thompson 與我開始討論一種新的程式語言,旨在解決我們與 Google 同仁在日常工作中面臨的工程挑戰。
當我們在 2009 年 11 月首次向大眾發佈 Go 時,我們並不確定這種語言是否會被廣泛採用,也不確定它是否會影響未來的程式語言。回顧 2020 年,Go 在這兩方面都取得了成功:它在 Google 內外皆被廣泛使用,且其處理網路並發與軟體工程的方法,對其他程式語言及其工具產生了顯著的影響。
事實證明,Go 的影響力遠超我們最初的預期。它在產業界的成長驚人,並為 Google 的許多專案提供了強大動力。
以下的故事僅是 Google 使用 Go 的眾多方式中的一小部分案例。
Google 核心數據解決方案團隊如何使用 Go
Google 的使命是「整合全球資訊,供大眾使用,使人人受惠」。負責整理這些資訊的團隊之一便是 Google 的核心數據解決方案團隊 (Core Data Solutions team)。該團隊負責維護全球網頁索引服務等項目。這些網頁索引服務透過保持搜尋結果的更新與全面性,協助支援 Google 搜尋等產品,而這些服務正是以 Go 編寫而成。
Chrome 內容優化服務運行於 Go 之上
提到 Chrome 產品時,您可能只會想到使用者安裝的瀏覽器。但在幕後,Chrome 擁有龐大的後端系統,其中就包含了 Chrome 優化指南服務 (Chrome Optimization Guide service)。這項服務是 Chrome 使用者體驗策略的重要基礎,運行在使用者體驗的關鍵路徑上,並且是以 Go 實作的。
Firebase 代管團隊如何利用 Go 進行擴展
Firebase 代管團隊為 Google Cloud 客戶提供靜態網頁代管服務。他們提供的靜態網頁主機架設於全球內容傳遞網路 (CDN) 之後,並為使用者提供易於使用的工具。該團隊還開發了從上傳網站檔案、註冊網域到追蹤使用量等多種功能。
驅動 Google 生產環境:Google 網站可靠性工程團隊如何使用 Go
Google 運行著為數不多但規模極大的服務。這些服務由涵蓋了儲存系統、負載平衡器、網路、日誌記錄、監控等所需一切的全球基礎設施所支撐。然而,這並非一個靜態系統——它也不可能保持靜態。架構不斷演進、新產品與新構想持續產生、新版本必須推出、設定檔需要推送、資料庫結構需要更新等等。我們最終每秒鐘會對系統進行數十次的變更部署。
關於 Google
Google 是一家科技公司,其使命是整合全球資訊,供大眾使用,使人人受惠。
Go 於 2007 年在 Google 誕生,旨在提升多核心網路機器與大型程式碼庫時代的程式開發效率。時至今日,距離 2009 年公開發布已超過 10 年,Go 在 Google 內部的應用已大幅成長。