如何集成 Config

本章节,我们将创建一个micro-weather-config-server 作为配置服务器的服务端。

开发环境

  • Gradle 4.0
  • Spring Boot 2.0.0.M3
  • Spring Cloud Netflix Eureka Client Finchley.M2
  • Spring Cloud Config Server Finchley.M2

更改配置

增加如下配置:

  1. dependencies {
  2. //...
  3. compile('org.springframework.cloud:spring-cloud-starter-netflix-eureka-client')
  4. compile('org.springframework.cloud:spring-cloud-config-server')
  5. //...
  6. }

项目配置:

  1. spring.application.name: micro-weather-config-server
  2. server.port=8888
  3. eureka.client.serviceUrl.defaultZone: http://localhost:8761/eureka/
  4. spring.cloud.config.server.git.uri=https://github.com/waylau/spring-cloud-tutorial
  5. spring.cloud.config.server.git.searchPaths=config

其中:

  • spring.cloud.config.server.git.uri:配置Git仓库地址
  • spring.cloud.config.server.git.searchPaths:配置查找配置的路径

一个最简单的 Config Server

主应用:

  1. @SpringBootApplication
  2. @EnableDiscoveryClient
  3. @EnableConfigServer
  4. public class Application {
  5. public static void main(String[] args) {
  6. SpringApplication.run(Application.class, args);
  7. }
  8. }

在程序的入口Application类加上@EnableConfigServer注解开启配置服务器的功能。

测试

https://github.com/waylau/spring-cloud-tutorial/tree/master/config 我们放置了一个配置文件micro-weather-config-client-dev.properties,里面简单的放置了测试内容:

  1. auther=waylau.com

启动应用,访问http://localhost:8888/auther/dev,应能看到如下输出内容,说明服务启动正常。

  1. {"name":"auther","profiles":["dev"],"label":null,"version":"00836f0fb49488bca170c8227e3ef13a5aff2d1a","state":null,"propertySources":[]}

其中,在配置中心的文件命名规则如下:

  1. /{application}/{profile}[/{label}]
  2. /{application}-{profile}.yml
  3. /{label}/{application}-{profile}.yml
  4. /{application}-{profile}.properties
  5. /{label}/{application}-{profile}.properties

源码

本章节源码,见micro-weather-config-server