Go微服務入門到容器化實踐,落地可觀測的微服務電商專案

sdfdsfdsfasd發表於2020-12-19

 

download:Go微服務入門到容器化實踐,落地可觀測的微服務電商專案



對於真正微服務專案來說,服務開發只是第一步,容器化、彈性伸縮和可觀測才是真正關鍵。本課程將通過電商專案實戰,系統學習完全形態的微服務,掌握成熟閉環的落地方案。

技術要求
有Go實際開發經驗    掌握Linux操作     熟練掌握MySQL
環境引數
開發語言:Golang    開發平臺:Windows 10     開發工具:GoLand



 

1、Go有什麼優勢

  • 可直接編譯成機器碼,不依賴其他庫,glibc的版別有一定要求,佈置便是扔一個檔案上去就完成了。

  • 靜態型別言語,可是有動態言語的感覺,靜態型別的言語便是可以在編譯的時分檢查出來躲藏的大多數問題,動態言語的感覺便是有許多的包可以運用,寫起來的功率很高。

  • 言語層面支撐併發,這個便是Go最大的特徵,天然生成的支撐併發,我曾經說過一句話,天然生成的基因和整容是有區別的,我們們一樣美麗,可是你喜歡整容的還是天然生成基因的美麗呢?Go便是基因裡邊支撐的併發,可以充分的運用多核,很簡單的運用併發。

  • 內建runtime,支撐垃圾收回,這屬於動態言語的特性之一吧,儘管現在來說GC不算完美,可是足以敷衍我們們所能遇到的大多數狀況,特別是Go1.1之後的GC。

  • 簡單易學,Go言語的作者都有C的基因,那麼Go自然而然就有了C的基因,那麼Go關鍵字是25個,可是表達能力很強壯,簡直支撐大多數你在其他言語見過的特性:承繼、過載、物件等。

  • 豐厚的規範庫,Go現在現已內建了大量的庫,特別是網路庫十分強壯,我獨愛的也是這部分。

  • 內建強壯的東西,Go言語裡邊內建了許多東西鏈,最好的應該是gofmt東西,自動化格式化程式碼,可以讓團隊review變得如此的簡單,程式碼格式如出一轍,想不一樣都很困難。

  • 跨渠道編譯,假如你寫的Go程式碼不包括cgo,那麼就可以做到window體系編譯linux的運用,如何做到的呢?Go引用了plan9的程式碼,這便是不依賴體系的資訊。

  • 內嵌C支撐,前面說了作者是C的作者,所以Go裡邊也可以直接包括c程式碼,運用現有的豐厚的C庫。

2、Go適合用來做什麼

  • 伺服器程式設計,以前你假如運用C或許C++做的那些事情,用Go來做很合適,例如處理日誌、資料打包、虛擬機器處理、檔案體系等。

  • 分散式體系,資料庫代理器等

  • 網路程式設計,這一塊現在運用最廣,包括Web運用、API運用、下載運用、

  • 記憶體資料庫,前一段時間google開發的groupcache,couchbase的部分組成

  • 雲渠道,現在國外許多雲渠道在選用Go開發,CloudFoundy的部分組成,前VMare的技術總監自己出來搞的apcera雲渠道。

3、Go成功的專案
nsq:bitly開源的音訊行列體系,效能十分高,現在他們每天處理數十億條的音訊
docker:根據lxc的一個虛擬打包東西,可以完成PAAS渠道的組成。
packer:用來生成不同渠道的映象檔案,例如VM、vbox、AWS等,作者是vagrant的作者
skynet:分散式排程結構
Doozer:分散式同步東西,類似ZooKeeper
Heka:mazila開源的日誌處理體系
cbfs:couchbase開源的分散式檔案體系
tsuru:開源的PAAS渠道,和SAE完成的功能如出一轍
groupcache:memcahe作者寫的用於Google下載體系的快取體系
god:類似redis的快取體系,可是支撐分散式和擴充套件性
gor:網路流量抓包和重放東西
以下是一些公司,只是一小部分:

下面列出來了一些運用的使用者
GoUsers - go-wiki - A list of organizations that use Go.
4、Go還存在的缺陷
以下缺陷是我自己在專案開發中遇到的一些問題:

  • Go的import包不支撐版別,有時分晉級簡單導致專案不行運轉,所以需要自己控制相應的版別資訊

  • Go的goroutine一旦發動之後,不同的goroutine之間切換不是受程式控制,runtime排程的時分,需要嚴謹的邏輯,否則goroutine休眠,過一段時間邏輯結束了,忽然冒出來又執行了,會導致邏輯出錯等狀況。

  • GC推遲有點大,我開發的日誌體系傷過一次,同時併發很大的狀況下,處理很大的日誌,GC沒有那麼快,記憶體收回不給力,後來通過profile程式改進之後得到了改善。

  • pkg下面的圖片處理庫許多bug,還是運用成熟產品好,呼叫這些成熟庫imagemagick的介面比較靠譜

 

 

相關文章