Go 微服務框架 micro

微服務是什麼

  • 微服務是一種架構風格,也是一些協同工作小而自治的服務

  • 微服務的顆粒度比較小,一個大型軟件應用由多個微服務組成

  • 每種服務只做一件事,一種鬆耦合能夠被獨立開發和部署的無狀態服務

我們怎麼做的微服務

  • 使用 micro 微服務框架+代碼生成器提高開發效率   

  • 持續集成:代碼提交後,自動發佈測試環境     

  • 使用分佈式調用鏈追蹤   

  • 優先拆分簡單服務,目前定先拆封面點贊模塊,進行試水    使用 k8s 部署、服務伸縮、故障恢復

  • 使用 istio 控制、觀測網絡流量

k8s 帶來的價值

  • 自動化容器部署

  • 容器故障自動恢復

  • 自動化容器伸縮

  • 提供容器間的負載均衡(SVC)

  • 容器隔離可以更高效利用服務器資源

  • 以及配合其他組件實現網絡和服務的治理

gitops.任何能被描述的內容都必須存在 git 中

  • Dockerfile

  • Jenkinsfile

  • skaffold.yaml

  • k8s(helm file)

微服務怎麼跑腳本

  • 使用 micro localTask 執行任務

  • 腳本和服務代碼在同一個 git 倉庫

  • 使用 k8s 的 job 啓動腳本

分佈式追蹤

  • Jaeger vs Zipkin

  • All in>內存級,默認最近5萬條

  • 1%採樣率

image

image

micro 是什麼

  • micro 是 go 微服務框架

  • micro 也是一個工具集

  • micro 還是一個生態系統

micro 的優勢

  • 開箱即用

  • 工具庫完善,比如 micro api、web、health 健康檢查

  • 還在快速發展中

micro 的主要架構

  • 服務發現

  • 負載均衡

  • 消息編碼

  • 異步消息

使用 micro 開發服務

image

image

定義客戶端

image

image

api gateway

  • 安裝:go get -u github.com/micro/micro

  • 運行:micro api

  • rest api  to grpc

micro api 網關

image

image

image

分享時間;1.2號21:30
參與方式:加微信;17812796384

發佈了46 篇原創文章 · 獲贊 6 · 訪問量 2萬+
發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章