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之後的感言。
以上是golang適合雲端運算嗎的詳細內容。更多資訊請關注PHP中文網其他相關文章!