从零开始使用Spring Cloud Config
在传统的Java应用中,应用配置都是直接存储在代码库中(比如放在application.yml
中),配置的更新需要修改发布包并重新发布。
而配置的审计也会和代码夹杂,需要从众多提交中中找到配置变更的提交,很难独立完成,也很难追溯何时修改了某一项配置。
随着微服务的发展,服务越来越多、配置也越来越多,这种原始的配置管理方式,很难适应分布式环境。作为开发者,还是需要配置能单独地管理和审计。
Spring Cloud Config就提供了配置管理和审计的解决方案。
Spring Cloud Config有如下特点:
- 与Spring生态紧密集成
提供了和Spring中的Environment
、PropertySource
一致的抽象,能够和原有的配置文件很好的对应起来。 - 可以动态更新
只需要添加注解,不需要重启就能更新配置项 - 支持多种provider
配置仓库可以是git仓库、本地文件、数据库等等。
开始使用Spring Cloud config
Spring Cloud Config 分为两部分:
Spring Cloud Config Server负责从配置仓库中获取配置,并给client提供获取配置的HTTP接口
Spring Cloud Config Client负责给目标应用提供从config-server获取配置、更新配置的能力。