spring cloud 分布式配置(使用git进行远程配置)

Posted wangkee

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了spring cloud 分布式配置(使用git进行远程配置)相关的知识,希望对你有一定的参考价值。

我们使用分布式架构 搭建项目时 就比如说我们更改了数据库的密码

那如果有十几个微服务配置在不同的服务器上 我们是不是得一个一个服务器的去更改 

那样就相当的麻烦 不光麻烦 还及其容易错 所以基本是不可能这样实现

这里有一个解决方式 可以把项目的配置放到gitlab上 从gitlab来读取 这样就方便了我们的配置 

那么就要登陆到gitlab上创建账号 发布项目 等等 这些东西可以到

https://blog.csdn.net/Adelly/article/details/79099772 这个教程看一下 这里不多说 

然后在项目中创建一个配置中心的模块 

// https://mvnrepository.com/artifact/org.springframework.cloud/spring-cloud-config-server
    compile group: ‘org.springframework.cloud‘, name: ‘spring-cloud-config-server‘

添加config-server的依赖 因为它是配置中心服务端 在客户端的话需要添加

// https://mvnrepository.com/artifact/org.springframework.cloud/spring-cloud-starter-config
    compile group: ‘org.springframework.cloud‘, name: ‘spring-cloud-starter-config‘

接着往下看 配置中心的配置文件 

spring:
  application:
    name: config-center //项目名
  cloud:
    config:
      server:
        git:
          uri: https://gitlab.com/wangkeee/poppy-mall.git  //git的地址 
          clone-on-start: true //是否在使用配置文件时拷贝到本地 
          search-paths: local //读取项目中的那个文件夹
server:
  port: 8887 //端口号

注意 这里的配置文件需要使用bootstrap.yml 而不是之前使用的application.yml 

他们基本上是一样的 但bootstrap.yml的执行要比application.yml优先 

想一下 在读取项目时 配置文件当然是需要优先读取的 在本地的话倒还好 这里把配置文件放到git上 读取缓慢 所以需要优先读取

然后看一下git项目的搭建 

技术分享图片

在文件夹中创建微服务的配置文件 并且把微服务的配置文件的内容拷贝进去 

文件的命名是配置文件中

spring:
  application:
    name:

的值.yml 

技术分享图片

然后就可以把对应微服务的配置文件删除 也加上一个bootstrap.yml 

看一下里面的配置

spring:
  application:
    name: project-poppy-mall //项目名
  cloud:
    config:
      uri: http://localhost:8887 //配置中心的地址

在配置中心的启动类上 加上

@SpringBootApplication //启动项目
@EnableConfigServer //代表它是一个配置中心

然后就可以运行配置中心 就可以运行成功了 

 然后就可以照常运行删除了配置文件的微服务了 如果想对微服务的配置文件更改只需要登陆gitlab上进行更改就行了 非常方便

以上是关于spring cloud 分布式配置(使用git进行远程配置)的主要内容,如果未能解决你的问题,请参考以下文章

Spring Cloud(15)——配置中心

Spring Cloud系列之 ConfigBusStreamSleuth

Spring Cloud系列之 ConfigBusStreamSleuth

Spring Cloud构建微服务架构分布式配置中心

spring cloud深入学习-----配置中心git示例

Spring Cloud:配置中心(Git 版与动态刷新)Finchley 版