配置管理平台服务(Mysql持久化、完善角色权限控制、完美兼容SpringBootConfigClient)

编程

1、项目简介

1.1 开发目的

致力于开发一套能较好管理应用配置的平台,需要支持如下特性:

(1)配置编辑简单易用

(2)多角色权限控制、配置修改需要双人复核、配置修改有完备的修改记录

(3)配置支持多环境、多版本控制

(4)支持多种框架(目前支持Spring Cloud Config)

(5)应用获取配置保留获取日志

(6)支持应用灰度发布(暂不支持)

(7)高可用

(8)服务无状态,支持分布式部署。登录验证采用JWT技术,登录态客户端维护。

1.2 使用技术

服务端:SpringBoot、MybatisPlus、Mysql、Email

管理端:Vue、ViewUI

1.3 环境信息

管理端地址:http://119.29.120.234/config-center-view/#/

展示账号:demo  密码:123456  (也可自行注册账号,一定要填真实邮箱,会发邮件验证

配置服务地址(接口获取配置使用):http://119.29.120.234/config-center-service/config

1.4 名词解释

(1)命名空间(Group):相当于组织或者大型项目的名称,每个用户都可以创建多个命名空间,也可以将其他用户以多种角色加入到自己的命名空间中。

(2)应用:相当于工程(Project),配置在应用下维护。

(3)环境:每个应用可以存在多个环境,如开发环境、测试环境和生产环境,不同环境的配置不同,可以分别维护。

(4)版本:每个环境的配置可以创建多个版本,应用可以获取不同版本的配置,不同版本的配置不同,可以分别维护。

1.5 权限控制

权限以命名空间为单位,命名空间中有三个角色:

管理员:拥有所有权限

开发者:拥有新增环境、新增环境、提交配置修改请求权限

报告人:只有查看配置权限

功能

管理员

开发者

报告人

命名空间信息修改

命名空间成员管理

新增应用

应用信息修改

新增环境

修改、删除环境

设置默认环境

新增版本

修改、删除版本

设置默认版本

提交配置修改请求

处理配置修改请求

查看和导出配置

2、平台使用

2.1 用户注册

2.2 新建命名空间

2.3 新建应用

2.4 新建环境

common为各个环境共有的配置

设置默认环境,打开页面时,会默认加载默认环境页面,同时如果通过接口获取配置时未输入环境配置,将自动获取默认环境。

2.5 新建版本

设置默认版本,打开页面时,会默认加载默认版本页面,同时如果通过接口获取配置时未输入版本配置,将自动获取默认版本。

2.6 修改配置信息

记录绿色表示新增,蓝色为修改,红色为删除

2.7 提交配置修改请求

2.8 合并请求

管理员登录网站后,右上角会显示待合并请求。

管理员完成合并后配置修改成功。

3、SpringBoot应用对接

3.1 添加依赖

<dependencyManagement>

<dependencies>

<dependency>

<groupId>org.springframework.cloud</groupId>

<artifactId>spring-cloud-dependencies</artifactId>

<version>Hoxton.SR1</version>

<type>pom</type>

<scope>import</scope>

</dependency>

</dependencies>

</dependencyManagement>

<dependency>

<groupId>org.springframework.cloud</groupId>

<artifactId>spring-cloud-starter-config</artifactId>

</dependency>

3.2 获取应用访问token

如果不存在,联系Group管理员添加

3.3 添加配置文件 bootstrap.properties

#配置获取地址,可以填写多个。Spring Cloud Config Client 如果第一个获取失败将会自动尝试第二个

spring.cloud.config.uri=http://119.29.120.234/config-center-service/config,http://119.29.120.234:8888/config-center-service/config

#配置名称 命名空间+下划线+应用名词

spring.cloud.config.name=demo-group_config-client-demo

#环境名称

spring.cloud.config.profile=dev

#版本名词

spring.cloud.config.label=v1.0

#应用访问token,应用配置中获取

spring.cloud.config.token=0c32cd79-1ebd-4a47-a129-7a44fa569bb5

#快速失败配置,如果无法获取配置,应用启动立即停止,不会尝试启动

spring.cloud.config.fail-fast=true

此时启动应用将会从配置管理平台获取配置

3.4 密码加密处理

如果担心密码泄露,可以使用jasypt-spring-boot-starter对密码加密。

jasypt.encryptor.password=xxxxxx 配置放到本地bootstrap.properties中。

ENC(****)形式的密码放在配置管理平台上。

 

如有疑问,请发邮件联系我cpt725@qq.com

以上是 配置管理平台服务(Mysql持久化、完善角色权限控制、完美兼容SpringBootConfigClient) 的全部内容, 来源链接: utcz.com/z/512265.html

回到顶部