简介
Spring Cloud Config为分布式系统的外部配置提供服务端(server)和客户端(client)的支持。Config服务端提供了一个集中的地方来管理所有环境下各个应用的配置,Config客户端即普通的Spring应用,但不局限于Spring应用,理论上任意应用都可以作为Config的客户端。Config服务端和客户端的概念都源自于Spring的Environment和PropertySource抽象,所以它们可以很好地和Spring应用适配,但也能被用于其它任意语言的应用。当一个应用从开发阶段到测试阶段再到生产上线,使用Config可以管理这些环境中的配置,并且当应用迁移时,应用可以找到需要的所有配置信息。服务端的存储默认使用git实现,所以它可以很容易地支持版本化的配置环境,同时有很多工具(如git bash等)可以用于管理这些内容。
特性
服务端特性:
- 为外部配置(键值对或YAML)提供基于http的API
- 加密和解密属性的值(对称或非对称加密)
- 可以使用@EnableConfigServer很容易地嵌入到SpringBoot应用
客户端特性(Spring应用):
- 绑定到配置服务器并且使用远程的属性源初始化Spring Environment
- 加密和解密属性的值(对称或非对称)
只要Spring Boot Actuator和Spring Config Client在classpath下,任何Spring Boot应用启动以后都会尝试去连接一个配置服务器,配置服务器的地址由spring.cloud.config.uri
指定,默认的值是http://localhost:8888/
, 如果要改变这个默认值,可以在bootstrap.[yml | properties]或者系统属性或环境变量中指定。