1. 程式人生 > 其它 >微服務套件學習筆記——consul、ocelot、apollo、Jenkins

微服務套件學習筆記——consul、ocelot、apollo、Jenkins

一、 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)->伺服器拉取映象->建立容器