欢迎您访问程序员文章站本站旨在为大家提供分享程序员计算机编程知识!
您现在的位置是: 首页

springcloud config(配置管理)

程序员文章站 2022-06-13 13:50:08
...

创建config server 

首先创建一个springboot项目,添加依赖eureka server  、config server

springcloud config(配置管理)

启动类添加注解:@EnableConfigServer 

package com.example.config;



import org.springframework.boot.SpringApplication;

import org.springframework.boot.autoconfigure.SpringBootApplication;

import org.springframework.cloud.client.discovery.EnableDiscoveryClient;

import org.springframework.cloud.config.server.EnableConfigServer;

import org.springframework.cloud.openfeign.EnableFeignClients;



@SpringBootApplication

@EnableDiscoveryClient

@EnableFeignClients

@EnableConfigServer   这个注解用于使config server启动

public class ConfigApplication {



    public static void main(String[] args) {

        SpringApplication.run(ConfigApplication.class, args);

    }

}

配置文件添加:

spring:

  application:

    name: config

  cloud:

    config:

      server:

        git:

          uri: https://gitee.com/tf5488/test.git    配合文件存放的仓库地址

          username: aaa@qq.com    用户名

          password: tf13994574546        用户密码



eureka:

  client:

    service-url:

      defaultZone: http://localhost:4000/eureka



server:

  port: 4040

测试:

可以通过访问该端口下的 localhost:4040/{applicationName}/{profile}/{label}

Config支持我们使用的请求的参数规则为:

  • / { 应用名 } / { 环境名 } [ / { 分支名 } ]

  • / { 应用名 } - { 环境名 }.yml

  • / { 应用名 } - { 环境名 }.properties

  • / { 分支名 } / { 应用名 } - { 环境名 }.yml

  • / { 分支名 } / { 应用名 } - { 环境名 }.properties

springcloud config(配置管理)

这样就可以获取到文件中的内容了。

 

config client 的使用

首先在需要配置动态配置文件的服务端,添加依赖:

<dependency>

<groupId>org.springframework.cloud</groupId>

<artifactId>spring-cloud-starter-config</artifactId>

</dependency>

添加一个多余的配置文件,用于获取线上配置文件信息:

spring:

  application:

    name: zuulserver    这个名字需要慎重,仓库文件名字 zuulserver-状态信息.yml

  cloud:

    config:

      uri: http://localhost:4040   config server的地址

      label: master 分支名

      profile: dev  状态信息

eureka:

  client:

    service-url:

      defaultZone: http://localhost:4000/eureka

添加一个主配置文件:

server:

  port: ${server.port}  这个位置的名字就是配置文件中写的名字



zuul:

  routes:

    client:

      path: /user/**

      serviceId: client

以上就是单个服务器回去配置的方法,如果是多个服务器的话,在目标仓库下配置多个符合命名规范的配置文件,然后进行获取就可以了。配置文件中还可以配置其他的内容,通过不同的${server.port} 进行获取。

 

 

匹配并配置多个仓库

spring: 

    cloud: 

        config: 

            server: 

                git: 

                    uri: https://github.com/spring-cloud-samples/config-repo #默认的仓库 

                    repos: 

                        simple: https://github.com/simple/config-repo 

                    special: 

                        pattern: special*/dev*,*special*/dev* 

                        uri: https://github.com/special/config-repo 

                    local: 

                        pattern: local* 

                        uri: file:/home/configsvc/config-repo 

                    test: 

                        pattern: 

                            - '*/development' 

                            - '*/staging' 

                            uri: https://github.com/development/config-repo

上边的例子中,

simple 仓库自动匹配到 simple/*

special 仓库的pattern,第一个是应用名以special开头,环境名以dev开头;第二个是应用名包含special,环境名以dev开头;多个匹配到同一uri的pattern用逗号分割

local 仓库的的pattern也会自动补全为local*/*

test仓库中的 pattern 是以通配符开始的,需要使用单引号