【推荐】2019 Java 开发者跳槽指南.pdf(吐血整理) >>>
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
来源:oschina
链接:https://my.oschina.net/cpt725/blog/3152400