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来管理所有的配置信息了。

可以关注小编一播噢,往后有跟多的技术文更新呢。


分享到:


相關文章: