Version: Next

Spring Cloud Config

问题

  • 分布式系统有一大堆微服务,每个微服务都有个配置文件
  • 多环境:开发环境、测试环境、生产环境

解决

  • 集中式、动态配置管理设施 ConfigServer

Spring Cloud Config

  • 为微服务框架中的微服务提供集中化的外部配置支持
  • 配置服务器:为各个不同微服务应用的配置环境提供中心化的外部配置
  • 运维工程师通过 Github / Gitee 远程更新配置
  • 同步到本地 Git 仓库
  • 再由 配置中心 Config Server 应用到微服务模块
  • 一次修改,多处生效

Spring Cloud Config —— 客户端、服务端

  • 服务端:也称为 分布式配置中心,它是一个独立部署的微服务,用来连接配置服务器并为客户端提供配置信息、加密、解密信息等访问接口
  • 客户端:通过指定的 配置中心 来管理应用资源,以及业务相关的配置内容,并在启动时从配置中心获取、加载配置信息
    • 配置服务器默认采用 Git 来存储配置信息
    • 有助于环境配置的版本管理
    • 可以通过 Git 客户端工具方便的管理、访问配置内容

Spring Cloud Config 能实现的功能

  • 集中式配置文件管理
  • 多环境配置:不同环境不同配置,动态化配置更新,分环境部署,例如:dev/test/beta/release
  • 运行期动态调整配置,不再需要在每个服务部署机器上编写配置文件,服务通过配置中心统一拉取自己的配置信息
  • 当配置发生改变时,服务不需要重启即可感知配置变化,并应用新配置
  • 将配置信息以 REST 接口的形式对外暴露