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系列之 ConfigBusStreamSleuth
Spring Cloud系列之 ConfigBusStreamSleuth