谷歌雲為什麼選擇支援Go語言?

2021-09-16 18:44:44 字數 1161 閱讀 4936

在最近的一篇文章中,谷歌宣布在他們的函式即服務產品雲函式上支援go 1.11。在這項宣告中,除了之前就支援的node.js和python之外,go也加入了這一陣容,成為雲函式支援的程式語言。

\ngo是谷歌設計的一種開源程式語言,在1.11版本中,他們新增了模組概念。這些模組管理go專案中使用的第三方包的依賴關係,與.net的nuget和node.js的npm類似。令人驚訝的是,儘管go有谷歌背景,但谷歌云函式並不是第乙個支援這種語言的faas,因為ibm 雲函式和aws lambda去年已經宣布了這項支援。儘管如此,社群歡迎對該語言的支援,因為他們發現它與faas實現結合效果非常好。

\n

\n

最後,go非常適合雲函式,因為其函式的冷啟動速度非常快。

\n

\n
\n

去年,我在lambda上測了有資料庫連線的node.js和golang函式,冷啟動時間分別為3148毫秒和1648毫秒。

\n

\n

函式即服務是乙個流行的概念,所有主要的雲**商都有它自己的實現,無論是谷歌雲函式、azure函式,還是aws lambda。通常,函式會在事件發生時執行一段**,並且經常實現為無伺服器架構的一部分,stackify創始人兼首席執行官matt watson有過下面這樣的描述。

\n

\n

faas的概念是通過無伺服器架構進行無伺服器計算。軟體開發人員可以利用這一點來部署單個的「功能」、操作或一塊業務邏輯。它們可以在幾毫秒內啟動並處理單個請求,然後程序結束。

\n

\n

谷歌雲函式的用法沒有什麼不同,它提供了兩種不同的呼叫方法。第乙個是http函式,它使用http請求呼叫,並允許從任何相容http的客戶端使用。另一方面,還有後台函式,由事件觸發,例如從雲儲存或firebase觸發。通過這些事件,可以實現各種場景,其中,雲函式的教程中有幾個例子。相應地,這包括從slack中搜尋谷歌知識庫或從中提取和翻譯文字等應用程式。

\n\n已經有幾篇博文展示如何開始在雲函式上使用go,例如posse productions創始人luke freeman。在這篇文章中,luke展示了如何設定這類專案的結構,如何建立函式,以及如何測試和使用它們。最後,他介紹了部署過程,對各個開發階段進行了完整的概述。

\n檢視英文原文:

\n\n

為什麼選擇雲計算?

一 有效解決硬體單點故障問題 單點故障是指某個硬體的故障造成 某個服務的中斷。要真正解決這個問題,需要為每個硬體準備冗餘,這不僅大大增加了硬體購置成本,而且部署與維護成本也不容小視。而雲計算平台是基於伺服器集群,從設計之初就考慮了單點故障問題,並在建設時有效地解決了這個問題。如果一家雲服務商出現單點...

為什麼要用GO語言

go語言用途 go語言被設計成為一門應用於搭載web伺服器,儲存集群或類似用途的巨型 伺服器的系統程式語言。對於高效能分布式系統領域而言,go語言無疑比大多數其他語言有著更高的開發效率。它提供了海量並行的支援,這對於遊戲服務端的開發而言是再好不過。第乙個go程式 接下來我們來編寫第乙個go程式hel...

為什麼學習go語言

終於等到你!go語言 讓你用寫php 的開發效率編寫c語言 為什麼網際網路世界需要go語言 世界上已經有太多太多的程式語言了,為什麼又出來乙個go語言?硬體限制 摩爾定律已然失效 摩爾定律 當 不變時,積體電路上可容納的元器件的數目,約每隔18 24個月便會增加一倍,效能也將提公升一倍。換言之,每一...