Spring Cloud Config--服务配置组件配置与使用

目标:使用Spring Cloud Config建立服务配置中心

开发环境:IntelliJ IDEA

操作步骤:基础环境配置->Config Server组件配置->客户端微服务编写->远程Git仓库配置与应用测试->HA配置测试


1.基础环境配置

与Eureka组件类似,新建一个项目Spring_Cloud_Config,配置参考博客:

https://blog.csdn.net/xingyuzhe/article/details/79907748

2.Config Server组件配置

对传统的单体应用,常使用配置文件管理所有配置:例如一个Spring Boot开发的单体应用,可将配置内容放在application.yml文件中,如需切换环境,则需要在启动应用时指定spring.profiles.active={profile}。

统一管理微服务配置需求:

(1)集中管理配置

(2)不同环境不同配置

例如,数据源配置在不同的环境(开发、测试、预发布、生产等)中是不同的

(3)运行期间可动态调整

可根据各个微服务的负载情况,动态调整数据源连接池大小或熔断阈值,并在调整配置时不停止微服务

(4)配置修改后可自动更新

如配置内容发生变化,微服务能够自动更新配置

综上,对微服务架构而言,一个通用的配置管理机制是必不可少的,常见做法是使用配置服务器管理配置。

Spring Cloud Config为分布式系统外部化配置提供了服务端和客户端的支持,包含Config Server和Config Client两部分。

项目地址:https://github.com/spring-cloud/spring-cloud-config


开发流程:

(1)新建Module工程-CaaS_Config_Server



(2)添加配置依赖

config配置依赖:


maven插件配置依赖:


(3)编写Module项目主程序

新建启动类ConfigServerApplication.java

@EnableConfigServer注解开启Config Server的功能


(4)应用参数配置

在resources目录下新建application.yml配置文件:配置文件读取地址设置为本地(native)


(5)新建shared文件夹-存放本地配置文件

Module项目当前结构:


在shared文件夹中新建一个客户端微服务配置文件:CaaS_Config_Client-dev.yml


3.客户端微服务编写

开发流程:

(1)新建Module工程-CaaS_Config_Client



(2)添加配置依赖

添加Config的起步依赖和Web功能的起步依赖:


添加maven插件支持:


(3)编写Module项目主程序

读取配置文件变量,并返回变量值


(4)应用参数配置

新建配置文件bootstrap.yml,其调用优先级高于application.yml


(5)访问测试

依次启动CaaS_Config_Server与CaaS_Config_Client两个工程,访问http://localhost:8762/boecaas


成功读取配置文件

4.远程Git仓库配置与应用测试

修改CaaS_Config_Server文件,设置远程Git地址(gitlab服务器):因为是public仓库,所以不需要用户名密码


启动Config服务应用:访问http://localhost:8769/CaaS_Config_Client-dev.yml


启动客户端应用:访问http://localhost:8762/boecaas


5.HA配置

将上一节中的Config Server服务进行改造,加入服务注册客户端组件,并通过配置服务启动时的端口号实现Config Server高可用。

开发流程:

(1)添加配置依赖


(2)改写Module主程序

添加注解:@EnableEurekaClient


(3)修改应用配置文件

加入注册中心的配置:


以同样的方法为Config Client提供注册服务

依次启动eureka - config server - config client 

查看注册中心已有服务:http://localhost:8761/


访问http://localhost:8762/boecaas




阅读更多
版权声明:本文为博主原创文章,未经博主允许不得转载。 https://blog.csdn.net/xingyuzhe/article/details/79945345
文章标签: Spring-Cloud Config
个人分类: Spring-Cloud
想对作者说点什么? 我来说一句

没有更多推荐了,返回首页

关闭
关闭
关闭