天天看點

golang微服務架構對比_Go 微服務架構 micro

golang微服務架構對比_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%采樣率
golang微服務架構對比_Go 微服務架構 micro
golang微服務架構對比_Go 微服務架構 micro

micro 是什麼

  • micro 是 go 微服務架構
  • micro 也是一個工具集
  • micro 還是一個生态系統

micro 的優勢

  • 開箱即用
  • 工具庫完善,比如 micro api、web、health 健康檢查
  • 還在快速發展中

micro 的主要架構

  • 服務發現
  • 負載均衡
  • 消息編碼
  • 異步消息

使用 micro 開發服務

golang微服務架構對比_Go 微服務架構 micro
golang微服務架構對比_Go 微服務架構 micro

定義用戶端

golang微服務架構對比_Go 微服務架構 micro
golang微服務架構對比_Go 微服務架構 micro

api gateway

  • 安裝:go get -u github.com/micro/micro
  • 運作:micro api
  • rest api to grpc

micro api 網關

golang微服務架構對比_Go 微服務架構 micro
golang微服務架構對比_Go 微服務架構 micro
golang微服務架構對比_Go 微服務架構 micro

分享時間;1.2号21:30

參與方式:http://qr.topscan.com/api.php?text=https://u.wechat.com/MF_42eNJTICHfySrXc_P0V0