SpringCloud 构建统一配置中心

版权声明:本文为博主原创文章,未经博主允许不得转载。 https://blog.csdn.net/qq_27603235/article/details/79865471
近几年,微服务概念大火,随之基于SpringBoot 基础上近一步提供微服务基础框架的springCloud也随之大火起来。提供了一整套的微服务处理框架,包括服务注册与发现,统一配置中心、负载均衡等等。
最近因为工作不是很忙,利用空闲的时间,做了一个关于SpringCloud的统一配置中心来做练习。
1、新建一个Maven工程(直接创建springBoot也可以)。

这里写图片描述
其中,configserver01是用来保存所有项目的配置文件的。按照每个模块的名称进行划分。springCloud会根据applicationName以及profiles来决定读取那部分的配置。
2.新建一个springCloud的工程(此服务作为统一配置中心)
这里写图片描述
其中,在application.properties 文件中配置关于需要获取配置文件的git地址,以及文件的子目录。

spring.application.name=spring-cloud-config-server
server.port=8888
spring.cloud.config.label==master
spring.cloud.config.server.git.uri=https://github.com/wangtao1234/config-server.git
spring.cloud.config.server.git.search-paths=configserver01/config/public,configserver01/config/{application}

ps:这边有个参数需要注意一下,spring.cloud.config.server.git.search-paths 这个参数含义为“如果git仓库 下有多个子项目,需要制定需要读取哪个子项目的属性文件,如果你的git仓库下只有一个项目,则该参数配置无效。只需要在项目的根路径下直接建立属性配置文件,(不可以用文件夹来做划分
类似这种直接在仓库根路径下建立文件。
这里写图片描述

然后建立客户端,在客户端配置统一配置中心的url以及需要读取哪个环境的配置文件即可。

spring.application.name=test
spring.cloud.config.label=master
spring.cloud.config.profile=pro
spring.cloud.config.uri=http://localhost:8888
spring.cloud.config.discovery.enabled=true

这里大概讲一下springCloud 是如何读取配置文件的。

客户端通过配置应用名:spring.application.name=test 以及 环境spring.cloud.config.profile=pro
那么就会读取配置中心的test-pro.properties 文件以及 application-pro.properties文件。大致逻辑就是这样。主要一个主意点在于 如果是在git仓库只有一个项目的时候,那么
spring.cloud.config.server.git.search-paths
这个指定子项目地址的属性就不起作用,只能在项目根路径下直接建立各个环境的属性文件。

猜你喜欢

转载自blog.csdn.net/qq_27603235/article/details/79865471