Java高級架構——爲Spring Cloud Config插上管理的翅膀

Java高級架構——為Spring Cloud Config插上管理的翅膀

前言

最近一致在更新Spring Cloud Config的相關內容,主要也是為這篇埋個伏筆,相信不少調研過Spring Cloud Config的用戶都會吐槽它的管理能力太弱。因此,就有了下面為講推薦的這個開源項目,希望對已經入坑Spring Cloud Config的童鞋們有所幫助!

簡介

在Spring Cloud的微服務架構方案中雖然提供了Spring Cloud Config來擔任配置中心的角色,但是該項目的功能在配置的管理層面還是非常欠缺的。初期我們可以依賴選取的配置存儲系統(比如:Gitlab、Github)給我們提供的配置管理界面來操作所有的配置信息,但是這樣的管理還是非常粗粒度的,因此這個項目的目的就是解決這個問題,通過此項目,我們將提供一套基於Spring Cloud Config配置中心的可視化管理系統。

在該項目中,我們對於服務治理、配置存儲、可視化操作都做了抽象,只要目的就是為了儘可能的兼容所有Spring Cloud Config的用戶。任何Spring Cloud Config僅需要通過一些簡單的配置,或者遷移工具就能將原來正在使用的配置中心統一的管理起來。

項目地址

Github: https://github.com/dyc87112/spring-cloud-config-admin

Gitee:https://gitee.com/didispace/spring-cloud-config-admin

前端Github: https://github.com/stone-jin/spring-cloud-config-admin-web

前端Gitee: https://gitee.com/stone-jin/spring-cloud-config-admin-web

如果您覺得該項目對您有用,歡迎Star、Follow支持我們!

架構概覽

本項目採用了前後端分離的架構,通過core模塊抽象了前端需要的操作,再通過persistence和discovery模塊隔離不同的配置倉庫和不同的服務註冊中心,從而達到前端程序不需要關心到底使用了什麼存儲配置以及使用了什麼註冊中心,這樣用戶可以根據自己的需要自由的組合不同的配置存儲和服務治理機制,儘可能的匹配大部分Spring Cloud用戶的需求。

Java高級架構——為Spring Cloud Config插上管理的翅膀

部署方式

由於SCCA的架構對各個功能模塊做了比較細緻的拆分,所以它存在多種不同模式的部署方式,所以它既可以為已經在使用Spring Cloud Config提供服務,也可以為從零開始使用Spring Cloud Config的用戶。

在SCCA中我們的可部署內容自底向上分為三個部分:

Spring Cloud 配置中心:基於Spring Cloud Config構建的配置中心服務端。

SCCA REST 服務端:SCCA的核心模塊,實現了SCCA配置管理的持久化內容以及所有的管理操作API。

SCCA UI 服務端:SCCA的前端模塊,實現了可視化的配置管理操作界面。

下面我們來看看SCCA支持哪些多樣的部署方式。

全分離模式

全分離模式就是將上述三個部分都以獨立的進程進行部署,每一個部分都可以做高可用,具體部署結構可以如下圖所示:

Java高級架構——為Spring Cloud Config插上管理的翅膀

這種模式既可以適用於已經在使用Spring Cloud Config的用戶,也適用於正準備開始適用的用戶。其中,位於最底層的Spring Cloud配置中心就是一個最原始的Spring Cloud Config Server。所以,對於已經在使用Spring Cloud Config的用戶只需要再部署一套SCCA REST 服務端和SCCA UI 服務端,並做一些配置就可以使用SCCA來管理所有的配置信息了。

可以關注小編一播噢,往後有跟多的技術文更新呢。


分享到:


相關文章: