golang適合雲端計算嗎

2023-02-24 22:00:51

golang適合雲端計算。Go語言主要用作伺服器端開發,其定位是用來開發「大型軟體」的,適合於很多程式設計師一起開發大型軟體,並且開發週期長,支援雲端計算的網路服務。Go語言可用於記憶體資料庫和雲平臺領域,國外很多雲平臺都是採用Go開發,例如CloudFoundy的部分元件,前VMare的技術總監自己出來搞的apcera雲平臺。

本教學操作環境:windows7系統、GO 1.18版本、Dell G3電腦。

Golang是一種靜態強型別、編譯型、並行型,並具有垃圾回收功能的程式語言。作為一種開源程式語言,Go可以輕鬆構建可靠,簡單和高效的軟體。

Go語言主要用作伺服器端開發,其定位是用來開發「大型軟體」的,適合於很多程式設計師一起開發大型軟體,並且開發週期長,支援雲端計算的網路服務。Go語言能夠讓程式設計師快速開發,並且在軟體不斷的增長過程中,它能讓程式設計師更容易地進行維護和修改。它融合了傳統編譯型語言的高效性和指令碼語言的易用性和富於表達性。

Go語言作為伺服器程式語言,很適合處理紀錄檔、資料打包、虛擬機器器處理、檔案系統、分散式系統、資料庫代理等;網路程式設計方面,Go語言廣泛應用於Web應用、API應用、下載應用等;除此之外,Go語言還可用於記憶體資料庫和雲平臺領域,目前國外很多雲平臺都是採用Go開發。

適用領域:

1、伺服器程式設計,以前你如果使用C或者C++做的那些事情,用Go來做很合適,例如處理紀錄檔、資料打包、虛擬機器器處理、檔案系統等。

2、分散式系統、資料庫代理器、中介軟體等,例如Etcd。

3、網路程式設計,這一塊目前應用最廣,包括Web應用、API應用、下載應用,而且Go內建的net/http包基本上把我們平常用到的網路功能都實現了。

4、資料庫操作

5、雲平臺,目前國外很多雲平臺在採用Go開發,CloudFoundy的部分元件,前VMare的技術總監自己出來搞的apcera雲平臺。

6、遊戲伺服器端的開發。

哪些大公司在使用Go語言:

1、Google

這個不用多做介紹,作為開發Go語言的公司,當仁不讓。Google基於Go有很多優秀的專案,比如:https://github.com/kubernetes/kubernetes ,大家也可以在Github上 https://github.com/google/ 檢視更多Google的Go開源專案。

2、Facebook

Facebook也在用,為此他們還專門在Github上建立了一個開源組織facebookgo,大家可以通過 https://github.com/facebookgo 存取檢視facebook開源的專案,比如著名的是平滑升級的grace。

3、騰訊

騰訊作為國內的大公司,還是敢於嘗試的,尤其是Docker容器化這一塊,他們在15年已經做了docker萬臺規模的實踐,具體可以參考http://www.infoq.com/cn/articles/tencent-millions-scale-docker-application-practice

4、百度

目前所知的百度的使用是在運維這邊,是百度運維的一個BFE專案,負責前端流量的接入。他們的負責人在2016年有分享,大家可以看下這個http://www.infoq.com/cn/presentations/application-of-golang-in-baidu-frontend

5、阿里

阿里巴巴具體的專案不太清楚,不過聽說其系統部門、CDN等正在招Go方面的人。

6、京東

京東雲訊息推播系統、雲端儲存,以及京東商城等都有使用Go做開發。

7、小米

小米對Golang的支援,莫過於運維監控系統的開源,也就是 http://open-falcon.com/

此外,小米互娛、小米商城、小米視訊、小米生態鏈等團隊都在使用Golang。

8、360

360對Golang的使用也不少,一個是開源的紀錄檔搜尋系統Poseidon,託管在Github上,https://github.com/Qihoo360/poseidon

還有很多公司我們在這裡就不一一列舉了,從中我們也可知道Go語言的受歡迎程度。

為什麼這麼多人偏愛Go語言:

除了上述業內大牛之外,Go語言也頗受國內很多雲創業公司的喜愛,例如DaoCloud。那他們為什麼會選擇Go呢?與其他語言的應用相比,它有什麼優點呢?

1、學習曲線

它包含了類C語法、GC內建和工程工具。這一點非常重要,因為Go語言容易學習,所以一個普通的大學生花一個星期就能寫出來可以上手的、高效能的應用。在國內大家都追求快,這也是為什麼國內Go流行的原因之一。

2、效率

Go擁有接近C的執行效率和接近PHP的開發效率,這就很有利的支撐了上面大家追求快速的需求。

3、出身名門、血統純正

之所以說Go出身名門,是因為我們知道Go語言出自Google公司,這個公司在業界的知名度和實力自然不用多說。Google公司聚集了一批牛人,在各種程式語言稱雄爭霸的局面下推出新的程式語言,自然有它的戰略考慮。而且從Go語言的發展態勢來看,Google對它這個新的寵兒還是很看重的,Go自然有一個良好的發展前途。我們看看Go語言的主要創造者,血統純正這點就可見端倪了。

4、自由高效:組合的思想、無侵入式的介面

Go語言可以說是開發效率和執行效率二者的完美融合,天生的並行程式設計支援。Go語言支援當前所有的程式設計正規化,包括程式式程式設計、物件導向程式設計以及函數語言程式設計。程式設計師們可以各取所需、自由組合、想怎麼玩就怎麼玩。

5、強大的標準庫

這包括網際網路應用、系統程式設計和網路程式設計。Go裡面的標準庫基本上已經是非常穩定了,特別是我這裡提到的三個,網路層、系統層的庫非常實用。

6、部署方便:二進位制檔案、Copy部署

我相信這一點是很多人選擇Go的最大理由,因為部署太方便了,所以現在也有很多人用Go開發運維程式。

7、簡單的並行

它包含了降低心智的並行和簡易的資料同步,我覺得這是Go最大的特色。之所以寫正確的並行、容錯和可延伸的程式如此之難,是因為我們用了錯誤的工具和錯誤的抽象,Go可以說這一塊做的相當簡單。

8、穩定性

Go擁有強大的編譯檢查、嚴格的編碼規範和完整的軟體生命週期工具,具有很強的穩定性,穩定壓倒一切。那麼為什麼Go相比於其他程式會更穩定呢?這是因為Go提供了軟體生命週期(開發、測試、部署、維護等等)的各個環節的工具,如go tool、gofmt、go test。

這裡參照知乎裡一個同學對Go評論的話:最開始準備上線的時候其實心裡挺忐忑,畢竟一旦出現故障,不僅黑鍋得自己背,面子也上過不去啊。還好結果蠻漂亮,自上線後沒出現過一次突發性BUG,降低運維難度的同時還減少了機器的負載。我相信這也是大多數人用了Go之後的感言。

【相關推薦:Go視訊教學、】

以上就是golang適合雲端計算嗎的詳細內容,更多請關注TW511.COM其它相關文章!