实现微服务的集中化配置

创建一个micro-weather-config-client 作为配置服务器的客户端。

开发环境

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

更改配置

增加如下配置:

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

项目配置:

  1. spring.application.name: micro-weather-config-client
  2. server.port=8089
  3. eureka.client.serviceUrl.defaultZone: http://localhost:8761/eureka/
  4. spring.cloud.config.profile=dev
  5. spring.cloud.config.uri= http://localhost:8888/

其中:

  • spring.cloud.config.uri : 指向了配置服务器micro-weather-config-server的位置。

一个最简单的 Config Client

主应用:

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

如何测试

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

  1. auther=waylau.com

micro-weather-config-client

编写测试用例:

  1. @RunWith(SpringRunner.class)
  2. @SpringBootTest
  3. public class ApplicationTests {
  4. @Value("${auther}")
  5. private String auther;
  6. @Test
  7. public void contextLoads() {
  8. System.out.println(auther);
  9. }
  10. }

启动在之前章节中搭建的 micro-weather-eureka-servermicro-weather-config-server 两个项目。

启动测试用例,如果一切正常,可以在控制台看到“waylau.com”字样,说明,我们拿到了auther在配置服务器中的内容。

如果同时也启动了 micro-weather-config-client 项目,则能在
启动在之前章节中搭建的 micro-weather-eureka-server 管理界面,看到这个服务的信息。

micro-weather-config-client

源码

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