zoukankan      html  css  js  c++  java
  • 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

  • 相关阅读:
    问题账户需求分析
    UnityWebRequest_ZT
    NetworkManager网络通讯_问题汇总(四)
    NetworkManager网络通讯_NetworkLobbyManager(三)
    NetworkManager网络通讯_NetworkManager(二)
    C#关于private protected sealed Virtual/Override
    NetworkManager网络通讯_Example(一)
    Udp 异步通信(三)
    TCP Socket服务端客户端(二)
    TCP UDP基本编程(一)
  • 原文地址:https://www.cnblogs.com/qzt666/p/11383069.html
Copyright © 2011-2022 走看看