spring cloud config 统一配置管理

spring cloud 版本GreenWich.SR2

1.一般我们把配置上传到git.abcde.com,配置的文件名按照  应用名(spring.application.name)-开发环境(spring.profiles)-分支(不写默认master).yml进行命名。例如xxh-cloud-gateway-dev.yml

2.新建spring cloud config应用,我们可以根据config应用的url+其他应用的name+开发环境+分支进行访问。例如:http://configServerIp:8000/xxh-cloud-gateway/dev/master 就可以看到git服务器上面的配置。

3.我们可以配置多个config应用注册到eureka上面,以便实现高可用。

4.如下是config应用的配置信息

 

启动类:

package com.abcde.xxh.server.config;

import org.slf4j.Logger;
import org.slf4j.LoggerFactory;
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;


@SpringBootApplication
@EnableConfigServer
@EnableDiscoveryClient
public class xxhCloudConfigApplication {

    private static Logger logger = LoggerFactory.getLogger(xxhCloudConfigApplication.class);
    
    public static void main(String[] args) {
        logger.debug("xxhCloudConfigApplication:::main:::::starting .::::");
        SpringApplication.run(xxhCloudConfigApplication.class, args);
        logger.debug("xxhCloudConfigApplication:::main:::::started success..::::");
    }

}

application.yml

server:
 port: 7000
 tomcat: 
   uri-encoding: UTF-8

  
xxh:
 eureka: 
  node1: 192.16.50.76
  node2: 192.16.50.77
  node3: 192.16.50.78
  port: 8886
 config:
  node1: 192.16.50.76

spring:
 application: 
  name: xxh-cloud-config
 security:
  user:
   roles: SUPERUSER
   name: admin
   password: admin
 cloud: 
  config:
   server: 
    git: 
     uri: git@git.abcde.com:ccs-xxh/spring-cloud-config.git
     ignoreLocalSshSettings: true
         #配置Https时可以忽略ssl校验
     #skipSslValidation: true
     #应用所在的主机使用sshkey-gen产生私钥,在git服务器注册好公钥。
     privateKey: |
                    -----BEGIN RSA PRIVATE KEY-----
                    111111111111111111111111111111mCwUo8kJXxw0GAaR69GgKulrmQL37afY2
                    1E7Bvg40Sun5UJf6rkloNWQWsVy/bbVyS3+g2G+PSDMoWQFCwZukBLjeSkDjj9m/
                    fN1gTo2kJ34dkChFWaqoGh5AC+wc9crJ4Bpy9nF3+bXj8U54sFYh3vNQTx0GfkUB
                    RfHuS0r2cT6Js4uwQpgGN4te5EQggB9DK7pQDFmyS1tXWzHMVlzG/Gdb2dJkog6F
                    3VT3uOAZEbz+bKtpQuuOXLrx7kL7MIPpnvKdIE/na/HV1BDzdFQB1mZ6Y5LI/zOo
                    jNFupuWQwykOYOmT8VM3orOCLJr9cEabKbhQxQqWutcUGvT3ozAcc3PK3nxgpZu9
                    kcmfZQ5ocEubxXFhqsVAMZZ+4WrqA07zYGjTgZ6HlcBaVF3JxwTRjnDL9REGIy4a
                    t4Hy6dfXv7UOmJtQ45grJHubAKrjdFwKKKZqrllFhaDC6NaZsKoQ7rO+4rgE+8jc
                    1ZmYBTB/W5yHbzuEATvipXzljDQ50wIUaQ0ZFWCmHNXhd9qrojseAJwtjn58ElOc
                    FPxG230FTx1B5AIORTTMHrWrnE7pwQ64qaFgnLb0xks7Uw7fx585KKxCix9NwV5V
                    EvY1wCafRr5B+xAxG5D/6o62kG5ajF0Rd8+pqch3kA5L57S8GciW5+5PQ+8CASMC
                    ggIALYWvit1bjU5MEQKwLrgvGblJxXhgoVYuPtjs0NWLqj97KeA5/BRAcrMyBKKQ
                    kREjNCGBMkzv5HbvZVqLGrprMFczePc2QsXPVls4zgOm3+TMzTf+CipL9vE41vSL
                    QlN/jBXwtkJK+8BfN+OwQPDbu7bHFFNX3vbr1ZJ9vPy84SS4ht6LTIAKE1xrQbD+
                    1mW/nBh2oJGNbeWh9Q9aalR6+9yM7s5YSqZnvm+g4dFvY+Wk2TbvOOn2jqAGckaK
                    kPjgjY0HWaxqGLIjVZ5DY2L1NDHNy0zQlZ31da8zrCj65meSxUfMQXeuvTO3gqQo
                    RM5ZPg4Vnt2zwlO9g0VbGVtH97nKUbNdJrPDS+zpRtlbrh2iiYZgnTvhPcIkhfa5
                    u+eJEQjc86BiZTq074RcHbDbR4GLLXhdM43PxsbbG6ij4tB955EvVOvVByynKAlh
                    1awkWLZoQUBJQTmOIKMnvdb7qo+VxxaTVoChK2tVUez0Q765NLROffI+kTkHhcNv
                    L0QXoHfM4CwaT/u7UvyrbGGIDvjS0Uz8Jk61TlDoPfT/m8jS+8BryK4TteRCwokq
                    bJS/kEIpTop6y5GtHIhgIqAOEey3eXTvlDN0544h9iOkdglaJnvpzvEHVvTBE888
                    6GqnWjZMOLUjyvhZSlhfWjW+RHTlSBZqvXnqoKc0ksoZhZMCggEBANkItUdEjPCl
                    20hX52rjnmIzbt45QG1jSYQzMT+MHFDLFIlRhRdXQSqbwjPEGFyGU6OWJCFhdC8l
                    IDgsIjopBdkS8FRj+xZWV+Ds8EhOx6A1UFXgIGBAh6tHYYI+TT+AXKXllPseCwcQ
                    1NXQ1NzPsRVVSaGS7OHMPXRApOlct1Ib1/WLklu7CdTmNZxjv/jFtkuGLVrXO2Hq
                    4XTDwzSgBWpdpbAM2P87KA/dLmXStFTmqp3vRY+7pyKxTzLDJQcxikIX2/xJMmbS
                    ebcOnTZAAo+WSRJsoAfC4jEPxfi0NcBtdDgsDSEnm90NRHxKcarcsoSwms10f3ls
                    3nLKHimnOvsCggEBANDQjvK6oizMEmrkBrufKTUm5whFfB4JDuyKxEySsfGBjOCT
                    ataMiFwAZMMeYs5NwpFia3WObQcnTHH8AKbQREYJkd3+qw9gILsLbJ2YrnoccyeZ
                    IswEtDw6d3u/h1vCSKFuzfiEVIX5pMEQvsurDbz75TE1G18RWhdaWSzsHItFKwKs
                    HSBSZ8VCPjnArkO0CGnsFt3gUio4kDZhTHXkZCOUmZrPoVgUYdkID7503sAFvurm
                    4JmgpKBeWDtjNtZqIhUv2RZq4FG4dBTC6rKC9mtY4qLpappyxK+EM7wSrz841r6P
                    AOYDwsuAQzPF/Kkh7QtnwHfi+ShNA3Y5OZZEyJ0CggEAb54UFgX/VzC56rDdaivr
                    De6Qyg7QrUkBPKyc/Bwr0ceG54kCnkohg6CPwtngpJzajqT8o3Pym+c1JDP0WGze
                    b6NXBtRVPrAP8ATTWGMHlDis+PbsFD5xqIscNFqOIKhqKW7Bpbet5mBtdUbT30Y9
                    0HUBS8fnihFELSiPU3GC2cUtPHOqWw+76dV6qDNMyRU5Lie/jc3GxKSudpCQRvM1
                    /DApUznOryW81PVoUZ+P8SYr3DHpQpsFf45jPq2Awd72paXe2YS61ctUigeEDUV9
                    qO40NVxvjvaC9KkGumtO1/3Gvc2DGF2DW72uMUrbXy+sRD2RcPoVrClcdYyEinNC
                    5wKCAQBlbJ00EYH4gGC3k1O6N10ocfsv5zxJGle0uG35TpDxpVMN/nW4qqihtwxe
                    xZ20qW0iCzuCPd0vXDsSytu+vO32IefDmPQAJ2Ba2anI48J1003gCI0+hfEkkW08
                    GzMd8KbvUxOV9yG9aqB7CCIoaQasP9W40KblCG2WUHR057YXwoKa5eJC5jJnICza
                    OQQvg1SLOChdI9AjIsm0A1+m+ed+/wjHiWufz2K531garctHUz95aNN90a8MEJFB
                    arQ8Qi3PxsiHOznBSvaNvcJz9newe6FH0HWbeZK7ppzJEGO/n0O7pItoaDoLEmnI
                    sJ9K1fbLBoIOWE0iNAj+6JhQTUt/AoIBAQCtvdidw20tlcy7aDAOVp04xdQvdIXi
                    IpKNdfXaQnvUd2pOOn+YcuDCOhBE9EXyLQO4H8xCWWw1+ZOvX2LwLiUCRL/EXJ/2
                    0EcTh/jGsnwaMGfWgTYPUIAHC33J2ggjApgeHfQhK58Bc8u99MaBAeFDbf91onRL
                    jL81cS49N5fFvdcgGS25twYXXPURKYtZUtGmr1t5P04UcNaaoXVnqIpqISdaSxGJ
                    W7TPxo2IWP/ZN6+sNOl51d+mA1y0IpkuUOlYOk8jfe8gU8X0htdr6UTkGRsyBcKf
                    Y5gYe5+IRRViiz6eyUCFd89rJ98NKMAJAND7LUhyvuQdCHgE+xxxxxx
                    -----END RSA PRIVATE KEY-----
     timeout: 10    
     force-pull: true
         #间隔多久从git取数据,0标示每次请求都从git取
     refreshRate: 0 
            
eureka:
 instance:
  instance-id: ${xxh.config.node1}:${spring.application.name}:${server.port}
  prefer-ip-address: true  #解决gateway转发微服务时UnknownHostException的问题
  leaseRenewalIntervalInSeconds: 15 #多久向Server发送心跳,服务端默认90秒没有收到心跳请求就剔除服务了。
 client:
  register-with-eureka: true
  fetch-registry: true
  registryFetchIntervalSeconds: 15 #从Server获取registry信息的时间间隔,开发环境可以设置长一点,避免日志打印
  service-url:
   defaultZone: http://admin:admin@${xxh.eureka.node1}:${xxh.eureka.port}/eureka,http://admin:admin@${xxh.eureka.node2}:${xxh.eureka.port}/eureka,http://admin:admin@${xxh.eureka.node3}:${xxh.eureka.port}/eureka
   

 

pom.xml 

<?xml version="1.0" encoding="UTF-8"?>
<project xmlns="http://maven.apache.org/POM/4.0.0" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
    xsi:schemaLocation="http://maven.apache.org/POM/4.0.0 http://maven.apache.org/xsd/maven-4.0.0.xsd">
    <modelVersion>4.0.0</modelVersion>
    <parent>
        <groupId>org.springframework.boot</groupId>
        <artifactId>spring-boot-starter-parent</artifactId>
        <version>2.1.4.RELEASE</version>
        <relativePath/> <!-- lookup parent from repository -->
    </parent>
    <groupId>com.abcde.xxh</groupId>
    <artifactId>xxh-cloud-config</artifactId>
    <version>0.0.1-SNAPSHOT</version>
    <name>xxh-cloud-config</name>
    <description>xxh-cloud-config</description>

    <properties>
        <java.version>1.8</java.version>
        <spring-cloud.version>Greenwich.SR2</spring-cloud.version>
    </properties>

    <dependencies>
        
         <dependency>
            <groupId>org.springframework.cloud</groupId>
            <artifactId>spring-cloud-starter-config</artifactId>
        </dependency>
        
        <dependency>
            <groupId>org.springframework.boot</groupId>
            <artifactId>spring-boot-starter-web</artifactId>
        </dependency>
    
        <dependency>
            <groupId>org.springframework.cloud</groupId>
            <artifactId>spring-cloud-config-server</artifactId>
        </dependency>
        
        <dependency>
            <groupId>org.springframework.boot</groupId>
            <artifactId>spring-boot-starter-actuator</artifactId>
        </dependency>
        
        <!-- 集成eureka -->
        <dependency>
            <groupId>org.springframework.cloud</groupId>
            <artifactId>spring-cloud-starter-netflix-eureka-client</artifactId>
        </dependency>
        
         <dependency>
            <groupId>org.springframework.boot</groupId>
            <artifactId>spring-boot-starter-security</artifactId>
        </dependency>

        <dependency>
            <groupId>org.springframework.boot</groupId>
            <artifactId>spring-boot-starter-test</artifactId>
            <scope>test</scope>
        </dependency>
    </dependencies>

    <dependencyManagement>
        <dependencies>
            <dependency>
                <groupId>org.springframework.cloud</groupId>
                <artifactId>spring-cloud-dependencies</artifactId>
                <version>${spring-cloud.version}</version>
                <type>pom</type>
                <scope>import</scope>
            </dependency>
        </dependencies>
    </dependencyManagement>

    <build>
        <plugins>
            <plugin>
                <groupId>org.springframework.boot</groupId>
                <artifactId>spring-boot-maven-plugin</artifactId>
            </plugin>
        </plugins>
    </build>

</project>
 

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值