分佈式配置中心spring cloud config(背景、原理、應用技巧)

一、背景

分佈式與微服務的應用深入,配置項的繁瑣引出分佈式配置中心技術。首先回顧分佈式與微服務的基本思路,用戶量的增加引入了分佈式技術,不斷進行鍼對性擴容。
在這裏插入圖片描述
微服務是在簡單分佈式架構上的一個升級,每個微服務有自己的數據庫,是插拔式靈活系統,同時可複用能力不斷增加。微服務框架具備高可用(插拔式)、資源合理分配(分服務部署投入)、人盡其才(模塊間低耦合接口封裝多語言協作)、加快部署(docker)
在這裏插入圖片描述
簡單講述docker的基本原理
在這裏插入圖片描述
基於微服務的多級容災思路:
互聯網應用基本上分爲用戶應用端、業務接口端、數據端。應用災難主要有如下幾種情況:
1.app端無法鏈連接至業務接口端,所以需要在app本地做好緩存機制。
2.應用接口端無法連接至數據庫集羣,所以需要在業務接口端做好業務數據緩存。
3.數據庫服務會出現崩潰的情況,所以需要做好主從複製與切換。在這裏插入圖片描述

二、spring cloud config原理

從紙面上來說微服務開發主要分爲dubbo系列與springcloud系列,前者更像是高級玩家,通過自己的雙手去發掘高性能的產品,後者是一站式解決方案,更均衡。分佈式配置的國內產品呈現百花齊放,如果你使用dubbo,下面幾種分佈式配置方案會是你的菜(diamond\disconf\apollo)。個人推薦apollo,詳細對比如下圖。

在這裏插入圖片描述
下面簡單講解一下springcloud的分佈式配置,sc的分佈式配置牛批在使用git/svn等現有輪子,擁有完善的版本管理與文件管理機制,多香啊!從應用中可以發現,自然是c/s架構的產品,服務端去管控公共配置文件與分類配置,客戶端去獲取想要的配置文件,而客戶端自然就是咱們寫的微服務模塊了。
在這裏插入圖片描述
簡單使用如下:
在這裏插入圖片描述
在這裏插入圖片描述

三、應用技巧

1.分佈式配置中心集羣思路(服務發現+負載均衡)
在這裏插入圖片描述
2.服務龐大的配置文件的分目錄管理
在這裏插入圖片描述
3.用戶登錄權限(使用版本管理權限機制)
在這裏插入圖片描述
4.配置文件的加密傳輸
在這裏插入圖片描述
5.配置文件的動態刷新
動態刷新主要有客戶端主動獲取與服務端主動推兩大類方式,客戶端主動取主要使用@RefreshScope註解,然後訪問客戶端刷新接口即可;服務端主動推送分爲手工推送與定時推送,手工推送訪問服務端刷新接口即可,定時推送使用hook,原理與定時腳本無異。當然深究可以使用消息中間件,如果你的系統有必要的話。客戶端主動取存在的意義在於測試分佈式配置文件的正確型,服務端主動推,是推送至所有微服務,這點需要理解。
在這裏插入圖片描述

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章