文章目录

  • Spring Cloud Config
  • 什么是Spring Cloud Config
  • Spring Cloud Config作用
  • Spring Cloud Config 服务端配置
  • Spring Cloud Config 客户端服务
  • Spring Cloud Config 配置实战


Spring Cloud Config

什么是Spring Cloud Config

Spring Cloud Config 为微服务架构中的微服务提供 集中式的外部配置支持, 配置服务器为各个不同微服务应用的所有环境提供了一个中心化的外部配置

Spring Cloud Config 工作流程 spring cloud config server_配置信息


Spring Cloud Config 分为 服务端与客户端 两个部分:

服务端 config server:

也称为分布式配置中心,它是一个独立的微服务应用,用来连接配置服务器并为客户端提供获取配置信息,加密、解密信息等访问接口。

配置服务器官方推荐采用 Git 来存储配置信息,这样就有助于对环境配置进行版本管理,并且可通过Git

客户端工具来方便的管理与访问配置信息。

客户端 config client:
通过指定的服务端来管理服务的资源,以及与业务相关的配置内容,并在启动的时候从服务端获取和加载配置信息。

Spring Cloud Config作用

  1. 集中管理配置文件
  2. 不同环境不同配置,动态化的配置更新,根据不同环境部署,如dev/test/prod
  3. 运行期间动态调整配置,不再需要在每个服务部署的机器上编写配置,服务会向配置中心统一拉取自已的配置信息
  4. 当配置发生变动时,服务不需要重启即可感知到配置的变化并使用修改后的配置信息
  5. 将配置信息以REST接口的形式暴露

Spring Cloud Config 服务端配置

登录 GitHub,新建一个 microservice-cloud-config仓库

Spring Cloud Config 工作流程 spring cloud config server_Cloud_02


克隆远程库到本地仓库

git 命令: git clone https://github.com/xxx/microservice-cloud-config.git新建一个 microservice-config-application.yml

Spring Cloud Config 工作流程 spring cloud config server_Cloud_03


将 application.yml 推送到 github 远程库

Spring Cloud Config 工作流程 spring cloud config server_配置信息_04


Spring Cloud Config 工作流程 spring cloud config server_配置信息_05


Spring Cloud Config 工作流程 spring cloud config server_服务端_06


查看Github仓库中的效果

Spring Cloud Config 工作流程 spring cloud config server_配置信息_07


创建 microservice-cloud-11-config-server-5001 模块,添加pom文件

Spring Cloud Config 工作流程 spring cloud config server_Cloud_08


配置 application.yml 文件

Spring Cloud Config 工作流程 spring cloud config server_Cloud_09


创建启动类与添加注解 @EnableConfigServer

Spring Cloud Config 工作流程 spring cloud config server_Cloud_10


配置读取规则

Spring Cloud Config 工作流程 spring cloud config server_配置信息_11


Spring Cloud Config 工作流程 spring cloud config server_Cloud_12


Spring Cloud Config 工作流程 spring cloud config server_服务端_13


测试 Config 配置中心是否可以从GitHub上获取配置信息

Spring Cloud Config 工作流程 spring cloud config server_配置信息_14

Spring Cloud Config 客户端服务

新建Config客户端模块microservice-cloud-12-config-client-8080,并配置pom文件

Spring Cloud Config 工作流程 spring cloud config server_Cloud_15


配置 bootstrap.yml

application.yml 是用户级别的配置项

bootstrap.yml 是系统级别的配置项,优先级更高

Spring Cloud Config 工作流程 spring cloud config server_Cloud_16


配置 application.yml

Spring Cloud Config 工作流程 spring cloud config server_Cloud_17


添加controller和启动类

Spring Cloud Config 工作流程 spring cloud config server_配置信息_18

Spring Cloud Config 工作流程 spring cloud config server_配置信息_19


功能测试,从4002可以访问,8080无法访问

Spring Cloud Config 工作流程 spring cloud config server_Cloud_20

Spring Cloud Config 配置实战

将创建一个Eureka服务与Product商品提供者服务,它们两个微服务的配置信息均从GitHub获取 ,从而实现统一配置分布式管理,完成多环境的变量。

Spring Cloud Config 工作流程 spring cloud config server_服务端_21


推送到 github 远程库

Spring Cloud Config 工作流程 spring cloud config server_配置信息_22


编辑product配置并提交远程库

Spring Cloud Config 工作流程 spring cloud config server_服务端_23


推送到 github 远程库

Spring Cloud Config 工作流程 spring cloud config server_配置信息_24


构建 Config 版的Eureka服务端

Spring Cloud Config 工作流程 spring cloud config server_服务端_25


在resources 目录下创建并配置 bootstrap.yml 文件

Spring Cloud Config 工作流程 spring cloud config server_配置信息_26


在resources 目录下创建并配置 application.yml

Spring Cloud Config 工作流程 spring cloud config server_Cloud_27


创建启动类 EurekaServer_Config_6001

Spring Cloud Config 工作流程 spring cloud config server_服务端_28


先启动配置中心5001,再启动eureka注册中心,访问http://eureka6001.com:6001,禁止了自我保护机制构建 Config 版的Product微服务

Spring Cloud Config 工作流程 spring cloud config server_配置信息_29


Spring Cloud Config 工作流程 spring cloud config server_配置信息_30


Spring Cloud Config 工作流程 spring cloud config server_服务端_31


拷贝microservice-cloud-03-provider-product-8001里的其他业务逻辑代码与MyBatis相关配置文件

Spring Cloud Config 工作流程 spring cloud config server_配置信息_32