微服務是什麼
-
微服務是一種架構風格,也是一些協同工作小而自治的服務
-
微服務的顆粒度比較小,一個大型軟件應用由多個微服務組成
- 每種服務只做一件事,一種鬆耦合能夠被獨立開發和部署的無狀態服務
我們怎麼做的微服務
-
使用 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%採樣率
micro 是什麼
-
micro 是 go 微服務框架
-
micro 也是一個工具集
- micro 還是一個生態系統
micro 的優勢
-
開箱即用
-
工具庫完善,比如 micro api、web、health 健康檢查
- 還在快速發展中
micro 的主要架構
-
服務發現
-
負載均衡
-
消息編碼
- 異步消息
使用 micro 開發服務
定義客戶端
api gateway
-
安裝:go get -u github.com/micro/micro
-
運行:micro api
- rest api to grpc
micro api 網關
分享時間;1.2號21:30
參與方式:加微信;17812796384