微服務套件學習筆記——consul、ocelot、apollo、Jenkins
阿新 • • 發佈:2022-03-15
一、 Consul
1、 對服務方提供服務註冊、並對註冊的服務做心跳檢查,然後對呼叫方提供服務地址集合,客戶端自由選擇要呼叫的服務。
2、 consul叢集中的consul節點有兩種模式,一種是client:記憶體模式,儲存的服務集合放在記憶體裡,不會持久化。另一種是server:服務集合最後會儲存在硬盤裡,server節點會選出一個leader來同步完整的服務集合給其他所有節點。
3、 consul不提供統一入口,通常前置兩個nginx做入口,nginx做keepalive,如果其中一個nginx掛了,ip漂移到另一個。
二、 ocelot
1、 閘道器:請求轉發,監聽客戶端請求,然後轉發給內網的服務,這樣服務不會暴露,客戶端請求統一入口。
2、 和consule配套使用,可以實現對內網服務叢集的負載均衡(輪詢、隨機、權重)
3、 和polly配套使用,可以實現請求的限流(比如5分鐘內限制只能訪問5次,5次之後限制30s後才能重新訪問)、降級、熔斷
三、 Apollo
1、 分散式配置中心:視覺化介面管理所有服務叢集的配置檔案,
2、 可以為不同專案、不同環境(開發、生產)提供實時更新的配置檔案
3、 通過建立私有的名稱空間,支援json的配置,不止是kev-value
四、 Jenkins
1、 ci/cd持續整合持續部署
2、 程式碼git->程式碼倉庫(gitee、github)->jenkins自動拉取->根據配置好的構建步驟構建映象->推送到映象倉庫(harbor、dockerhub、gitlab)->伺服器拉取映象->建立容器