Config:Spring Cloud分布式配置组件
问题总结
- Spring Cloud Config?
- Spring Cloud Config工作原理?
- Spring Cloud Config 的特点?
- Config+Bus 实现配置的动态刷新?
问题答案
- Spring Cloud Config
- Config Server:分布式配置中心,一个独立运行的微服务应用,用来连接配置仓库并为客户端提供获取配置信息、加密信息和解密信息的访问接口。
- Config Client:微服务架构中的各个微服务,通过 config server 对配置进行管理,并从 Config Server 中获取和加载配置信息。
- Spring Cloud Config工作原理
工作流程:
- 开发或运维人员提交配置文件到远程的 Git 仓库。
- Config 服务端(分布式配置中心)负责连接配置仓库 Git,并对 Config 客户端暴露获取配置的接口。
- Config 客户端通过Config服务端暴露出来的接口,拉取配置仓库中的配置。
- Config 客户端获取到配置信息,以支持服务的运行。
- Spring Cloud Config的特点
- Spring亲儿子,能与 Spring 的生态体系无缝集成。
- Spring Cloud Config 将所有微服务的配置文件集中存储在一个外部的存储仓库或系统,统一管理。
- 微服务可以通过 Spring Cloud Config配置中心将配置以REST接口的形式暴露给各个微服务,以方便各个微服务获取。
- 微服务通过 Spring Cloud Config 向配置中心统一拉取属于它们自己的配置信息。
- 当配置发生变化时,微服务不需要重启即可感知到配置的变化,并自动获取和应用最新配置。
- 一个应用可能有多个环境,例如开发(DEV)环境、测试环境(TEST)、生产环境(PROD)等等,开发人员可以通过 Spring Cloud Config 对不同环境的各配置进行管理,且能够确保应用在环境迁移后仍然有完整的配置支持其正常运行。