• 实现微服务的集中化配置
    • 开发环境
    • 更改配置
    • 一个最简单的 Config Client
    • 如何测试
    • 源码

    实现微服务的集中化配置

    创建一个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