【springcloud长文系列】不要每天重复修改配置了,试试config一处修改病毒式蔓延自动更新配置吧|智能化开发

时间:2021-06-15 18:45:08   收藏:0   阅读:0

背景

有多少次因为配置文件忘记修改导致重新发布

有多少次因为无法实时修改配置导致重新发布

有多少次同一个配置在不同项目需要重复修改

有多少次因为配置导致项目启动失败!!!

配置服务中心

config官网文档

技术图片

pom

<dependency>
    <groupid>org.springframework.cloud</groupid>
    <artifactid>spring-cloud-config-server</artifactid>
</dependency>

application.yml

server:
  port: 8070
spring:
  application:
    name: config-server
  cloud.config.server.git:
    uri: https://gitee.com/zxhTom/spring-cloud-demo
    searchPaths: helloworldconfig

启动类

@SpringBootApplication
@EnableConfigServer
public class ConfigApplication {
    public static void main(String[] args) {
        SpringApplication.run(ConfigApplication.class,args);
    }
}

测试

技术图片

路径规则

/{application}/{profile}[/{label}]
/{application}-{profile}.yml
/{label}/{application}-{profile}.yml
/{application}-{profile}.properties
/{label}/{application}-{profile}.properties

技术图片

技术图片

//后缀包括两种 。 回去找{label}分支下如下格式的文件
{application}/{profile}.[properties|yml]
{application}.[properties|yml]

技术图片

技术图片

配置读取客户端

bootstrap.yml

zxhtom: hello-zxhtom
spring:
  cloud:
    config:
      label: master
      name: config-server
      profile: dev    //这里和config-server解析不一样的是,他将访问master分支下的config-server-dev.yml或者properties文件
      uri: http://localhost:8070

application.yml

zxhtom: hello-zxhtom2
server:
  port: 80
  tomcat:
    max-threads: 10

pom

<dependency>
    <groupid>org.springframework.cloud</groupid>
    <artifactid>spring-cloud-starter-config</artifactid>
</dependency>

测试

小瑕疵

动态刷新

技术图片

仍然不足

奇技淫巧

脱离git

spring.cloud.config.server.git.uri=file://xxxxxx/repository	

多仓库

spring.cloud.config.server.git:
  uri: https://gitee.com/zxhTom/spring-cloud-demo
  searchPaths: helloworldconfig
  repos:
    dev:
      pattern: dev/*
      uri: file:///D:\test\repository\spring-cloud-demo
      searchPaths: helloworldconfig

技术图片

添加权限

指定本地仓库位置

技术图片

spring.cloud.config.server.git.basedir: xxxxx	

分模块读取配置

spring.cloud.config.server.git.searchPaths: ‘{application}‘

技术图片

总结

<dependency>
  <groupid>org.tmatesoft.svnkit</groupid>
  <artifactid>svnkit</artifactid>
  <version>1.8.10</version>
</dependency>

源码

点我下载

评论(0
© 2014 mamicode.com 版权所有 京ICP备13008772号-2  联系我们:gaon5@hotmail.com
迷上了代码!