目录

概述

特性

入门

快速开始

学习

文档

示例


概述

Spring Cloud Config为分布式系统中的外部化配置提供服务器和客户端支持。使用Config Server,您可以在所有环境中管理应用程序的外部属性。客户端和服务器上的概念映射与Spring Environment和PropertySource抽象相同,因此它们非常适合Spring应用程序,但可以与任何语言运行的任何应用程序一起使用。当应用程序通过部署管道从开发到测试并进入生产时,您可以管理这些环境之间的配置,并确保应用程序具有迁移时需要运行的所有内容。服务器存储后端的默认实现使用git,因此它可以轻松支持配置环境的标记版本,以及可用于管理内容的各种工具。添加替代实现并使用Spring配置插入它们很容易。

特性

Spring Cloud Config Server功能:

  •     用于外部配置的HTTP,基于资源的API(名称 - 值对或等效的YAML内容)
  •     加密和解密属性值(对称或非对称)
  • @EnableConfigServer可以在Spring Boot应用程序中轻松嵌入

Config Client功能(适用于Spring应用程序):

  •     绑定到Config Server并使用远程属性源初始化Spring Environment
  •     加密和解密属性值(对称或非对称)

入门

只要Spring Boot Actuator和Spring Config Client在类路径上,任何Spring Boot应用程序都会尝试联系http:// localhost: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方式绑定的任何其他值)可以来自本地配置或来自远程Config Server。 默认情况下,Config Server优先。 要查看应用程序中的/ env端点,请查看configServer属性源。

要运行自己的服务器,请使用spring-cloud-config-server依赖项和@EnableConfigServer。 如果设置spring.config.name = configserver,则应用程序将在端口8888上运行,并从示例存储库提供数据。 您需要spring.cloud.config.server.git.uri来根据自己的需要找到配置数据(默认情况下,它是git存储库的位置,可以是本地文件:.. URL)。