SpringCloud学习笔记(8)分布式配置中心——config

分布式配置中心——config

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

 

1、在GitHub创建项目

img

(1)、创建项目

(2)、本地克隆项目

(3)、创建application.yml

 
 
 
 
 
 
spring:
  profiles:
    active:
    - dev
---
spring:
  application:
    name: config-server-dev
  profiles: dev
---
spring:
  application:
    name: config-server-test
  profiles: test
 

(4)、上传配置文件到GitHub

 

2、配置中心服务端

引入依赖

 
 
 
 
 
 
        <!-- config-server 依赖 -->
        <dependency>
            <groupId>org.springframework.cloud</groupId>
            <artifactId>spring-cloud-config-server</artifactId>
        </dependency>
 

配置文件:

bootstrap.yml(最高优先级)

 
 
 
 
 
 
server:
  port: 4001
spring:
  application:
    name: config-server
  cloud:
    config:
      server:
        git:
          uri: https://github.com/qzt666/springcloud-config.git
 

application.yml

 
 
 
 
 
 
spring:
  application:
    name: config-server
 

启动类

 
 
 
 
 
 
/**
 * 启动类
 * @author qinzhitian<br>
 * @date 2019年8月20日 下午2:53:42
 */
@SpringBootApplication
@EnableConfigServer
public class Application {
    private static final Logger LOGGER = LoggerFactory.getLogger(Application.class);
    public static void main(String[] args) {
        SpringApplication.run(Application.class, args);
        LOGGER.warn("ConfigServer启动成功");
    }
}
 

测试:http://config-server:4001/application-dev.yml

 

3、客户端:

引入依赖:

 
 
 
 
 
 
        <dependency>
            <groupId>org.springframework.cloud</groupId>
            <artifactId>spring-cloud-starter-config</artifactId>
        </dependency>
 

 

配置文件:

bootstrap.yml(最高优先级)

 
 
 
 
 
 
spring:
  application:
    name: config-server-dev  #spring.application.name必须和上传到git仓库中对应文件的application一致
    
  cloud:
    config:
      fail-fast: true
      name: springcloud-config-clict  # 从GitHub读取的文件名称,注意不加.yml
      profile: dev
      label: master
      uri:
      - http://config-server:4001
 

application.yml

 
 
 
 
 
 
spring:
  application:
    name: config-server-dev
 

启动类

 
 
 
 
 
 
/**
 * 启动类
 * @author qinzhitian<br>
 * @date 2019年8月20日 下午2:56:19
 */
@SpringBootApplication
public class Application {
    private static final Logger LOGGER = LoggerFactory.getLogger(Application.class);
    public static void main(String[] args) {
        SpringApplication.run(Application.class, args);
        LOGGER.warn("ConfigClict启动成功");
    }
}
 

测试:http://config-server:4001/springcloud-config-clict-dev.yml

posted @ 2019-08-20 15:14  忐忑忐忑  阅读(134)  评论(0编辑  收藏  举报