概述:
分布式系统面临的--配置文件的问题
微服务意味着要将单体应用中的业务拆分成一个个子服务,每个服务的粒度相对较小,因此系统中会出现大量的服务,由于每个服务都需要必要的配置信息才能运行,所以一套集中式的,动态的配置管理设置是必不可少的。
SpringCloud 提供了 ConfigServer 来解决这个问题,我们每一个服务自己都带着一个application.yaml,那上百个的配置文件修改起来,岂不是要发疯!
什么是Springcloud config分布式配置中心
Spring Cloud Config 为微服务架构中的微服务提供集中化的外配置支持,配置服务器为各个不同微服务应用的所有环节提供了一个中心化的外部配置
Spring Cloud Config 分为 服务端 和 客户端 两个部分;
服务端也称为 分布式配置中心,他是一个独立的微服务应用,用来连接配置服务器并为客户端提供获取配置信息,加密,解密信息等访问接口
客户端则是通过指定的配置中心来管理应用资源,以及与业务相关的配置内容,并在启动的时候从配置中心获取和加载配置信息,配置服务默认财通git来存储配置信息,这样就有助于对环境配置进行版本的管理,并且可以通过git客户端工具来方便的管理和访问配置内容
Springcloud config 分布式配置中心能干嘛?
·集中管理配置文件
·不同环境,不同配置,动态化的配置更新,分环境部署,比如/dev/test/prod/beta/release
·运行期间动态调整配置,不再需要在每个服务部署的机器上编写配置文件,服务会向注册中心统一拉取配置自己的信息
·当配置发生变动时,服务不需要重启,即可感知到配置的变化,并应用新的配置
·讲配置信息以REST接口的形式暴露
SpringCloud config 分布式配置中心与github整合
由于Spring Cloud Config 默认使用Git来存储配置文件 (也有其他方式,比如支持SVN和本地文件),但是最推荐的还是Git,而且使用的是http / https 访问的形式;
登录进入码云【没有码云账号的先注册一个】,右上角的加号点击 新建仓库,如下:
创建号仓库后,我们要把这个拿出来放到本地仓库,有两种方法:
第一种:用https
第二种:用ssh
先来讲第一种https的克隆方式,https的克隆方式不需要密钥,但是ssh的方式需要密钥:
第一步:点击 克隆/下载 按钮,复制https 的链接
第二步:在本地创建一个git文件件,在该文件夹中打开 git Bash Here【前提是你要先安装git和环境,没安装的先去安装】
第三步:在git命令窗口中执行命令 git clone 加上刚刚复制的https链接 执行即可
会发现在git文件夹下成功克隆了一个远程仓库
【第二种 SSH方式】:
第一步:点击克隆/下载 按钮,复制SSH的链接
第二步:在本地新建一个git文件夹,在这个文件夹中打开git Bash Here
在命令行中输入并执行:git clone 刚刚在码云复制的链接 即可
【这里说明一下,如果仓库中没有添加SSH公匙的先去添加公匙,否则clone仓库到本地的命令不能生效】
简单搭建一下springboot环境,在git文件夹下创建一个application.yaml文件
在文件中配置:
spring:
profiles:
active: dev
---
spring:
profiles: dev
application:
name:springcloud-config-dev
---
spring:
profiles: test
application:
name:springcloud-config-test
然后将这个文件同步到远程仓库中,也就是把这个文件传到远程仓库中去:
在我们的本地仓库打开 git Bash Here ,然后一共执行下面四个步骤:
第一步:git add. 将所有改动的文件添加
第二步:git status 查看改动文件是否被添加
第三步:commit -m "first commit" 将被添加的文件提交到本地仓库,-m是注释
第四步:push origin master 将提交的文件push上传到远程仓库中,origin代表当前户、master代表上传到远程仓库的主分支中
再次查看我们的远程仓库,可以发现刚刚被我们push传上来的 application.yaml文件
欢迎分享,转载请注明来源:内存溢出
评论列表(0条)