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
接口的形式对外暴露