为Spring Cloud Config插上管理的翅膀

作者:媒体转发 时间:2018-07-30 09:31

字号

最近一致在更新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

架构概览

本项目采用了前后端分离的架构,通过core模块抽象了前端需要的操作,再通过persistence和discovery模块隔离不同的配置仓库和不同的服务注册中心,从而达到前端程序不需要关心到底使用了什么存储配置以及使用了什么注册中心,这样用户可以根据自己的需要自由的组合不同的配置存储和服务治理机制,尽可能的匹配大部分Spring Cloud用户的需求。

为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支持哪些多样的部署方式。

全分离模式

全分离模式就是将上述三个部分都以独立的进程进行部署,每一个部分都可以做高可用,具体部署结构可以如下图所示:

这种模式既可以适用于已经在使用Spring Cloud Config的用户,也适用于正准备开始适用的用户。其中,位于最底层的Spring Cloud配置中心就是一个最原始的Spring Cloud Config Server。所以,对于已经在使用Spring Cloud Config的用户只需要再部署一套SCCA REST 服务端和SCCA UI 服务端,并做一些配置就可以使用SCCA来管理所有的配置信息了。

案例

SCCA UI 服务端

SCCA REST 服务端(对接DB存储的配置中心)

SCCA REST 服务端(对接Git存储的配置中心)

Spring Cloud 配置中心(DB存储)

Spring Cloud 配置中心(Git存储)

半分离模式

所谓的半分离模式就是将上述的三个模块中的两个进行组合部署,以降低复杂度的部署方式。

SCCA UI模块与SCCA REST模块合并

如下图所示,我们可以将SCCA UI服务端与SCCA REST服务端组合在一个程序中来部署,这样可以有效的降低全分离模式的部署复杂度,同时对于已经在使用Spring Cloud Config的用户来说非常友好,已经部署的配置中心可以继续沿用。

案例

SCCA UI与SCCA REST合并的服务端

Spring Cloud 配置中心(DB存储)

Spring Cloud 配置中心(Git存储)

注意:对接不同存储配置中心的配置参考分离部署中两个SCCA REST服务端的不同配置内容进行调整。

All-In-One模式

最后介绍一种比较暴力的使用模式,SCCA支持将所有三个模块整合在一起使用和部署,在一个Spring Boot应用中同时包含:Spring Cloud 配置中心、SCCA REST 服务端以及SCCA UI 服务端,具体如下所示:

案例

All-In-One服务端

配置详解

责任编辑:CQITer新闻报料:400-888-8888   本站原创,未经授权不得转载
继续阅读
热新闻
推荐
关于我们联系我们免责声明隐私政策 友情链接