领先一步
VMware 提供培训和认证,助您加速进步。
了解更多Spring Cloud Config 为分布式系统中的外部化配置提供服务器端和客户端支持。通过配置服务器,您可以集中管理所有环境中应用程序的外部属性。客户端和服务器端的概念与 Spring 的 Environment 和 PropertySource 抽象完全相同,因此它们非常适合 Spring 应用程序,但也可以与任何语言运行的任何应用程序一起使用。当应用程序从开发环境通过测试环境进入生产环境的部署流水线时,您可以管理这些环境之间的配置,并确保应用程序在迁移时拥有运行所需的一切。服务器存储后端的默认实现使用 Git,因此它能够轻松支持配置环境的标记版本,并且可以通过各种工具来管理内容。添加替代实现并将其与 Spring 配置进行插件化非常容易。
Spring Cloud Config Server 特性
@EnableConfigServer 轻松嵌入到 Spring Boot 应用程序中Config Client 特性(针对 Spring 应用程序)
Environment只要 Spring Boot Actuator 和 Spring Config Client 在类路径中,任何 Spring Boot 应用程序都将尝试联系 https://:8888 上的配置服务器,这是 spring.cloud.config.uri 的默认值。如果您想更改此默认值,可以在 bootstrap.[yml | properties] 中或通过系统属性或环境变量设置 spring.cloud.config.uri。
@Configuration
@EnableAutoConfiguration
@RestController
public class Application {
@Value("${config.name}")
String name = "World";
@RequestMapping("/")
public String home() {
return "Hello " + name;
}
public static void main(String[] args) {
SpringApplication.run(Application.class, args);
}
}
示例中 config.name 的值(或您以常规 Spring Boot 方式绑定的任何其他值)可以来自本地配置或来自远程配置服务器。默认情况下,配置服务器将具有优先权。要查看此情况,请查看应用程序中的 /env 端点,并查看 configServer 属性源。
要运行您自己的服务器,请使用 spring-cloud-config-server 依赖项和 @EnableConfigServer。如果将 spring.config.name=configserver,应用程序将运行在 8888 端口并从示例仓库提供数据。您需要一个 spring.cloud.config.server.git.uri 来定位您自己需要的配置数据(默认情况下,它是 Git 仓库的位置,并且可以是本地的 file:.. URL)。