千家信息网

SpringCloud分布式微服务云架构 第六篇: 分布式配置中心(Spring Cloud Config)

发表于:2026-11-03 作者:千家信息网编辑
千家信息网最后更新 2026年11月03日,一、简介在分布式系统中,由于服务数量巨多,为了方便服务配置文件统一管理,实时更新,所以需要分布式配置中心组件。在Spring Cloud中,有分布式配置中心组件spring cloud config
千家信息网最后更新 2026年11月03日SpringCloud分布式微服务云架构 第六篇: 分布式配置中心(Spring Cloud Config)

一、简介

在分布式系统中,由于服务数量巨多,为了方便服务配置文件统一管理,实时更新,所以需要分布式配置中心组件。

在Spring Cloud中,有分布式配置中心组件spring cloud config ,它支持配置服务放在配置服务的内存中(即本地),

也支持放在远程Git仓库中。了解springcloud架构可以加求求:三五三六二四七二五九,在spring cloud config 组件中,

分两个角色,一是config server,二是config client。

二、构建Config Server

父maven工程省略,父pom文件:

    4.0.0    com.forezp    sc-f-chapter6    0.0.1-SNAPSHOT    pom            config-server        config-client        sc-f-chapter6    Demo project for Spring Boot            org.springframework.boot        spring-boot-starter-parent        2.0.3.RELEASE                           UTF-8        UTF-8        1.8        Finchley.RELEASE                            org.springframework.boot            spring-boot-starter-test            test                                                    org.springframework.cloud                spring-cloud-dependencies                ${spring-cloud.version}                pom                import                                                                org.springframework.boot                spring-boot-maven-plugin                        

创建一个spring-boot项目,取名为config-server,其pom.xml如下:

        4.0.0        com.forezp        config-server        0.0.1-SNAPSHOT        jar        config-server        Demo project for Spring Boot                        com.forezp                sc-f-chapter6                0.0.1-SNAPSHOT                                                        org.springframework.boot                        spring-boot-starter-web                                                        org.springframework.cloud                        spring-cloud-config-server                                                                                                        org.springframework.boot                                spring-boot-maven-plugin                                                

在程序的入口Application类加上@EnableConfigServer注解开启配置服务器的功能,代码如下:

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

需要在程序的配置文件application.properties文件配置以下:

spring.application.name=config-serverserver.port=8888spring.cloud.config.server.git.uri=https://github.com/forezp/SpringcloudConfig/spring.cloud.config.server.git.searchPaths=respospring.cloud.config.label=masterspring.cloud.config.server.git.username=spring.cloud.config.server.git.password=

spring.cloud.config.server.git.uri:配置git仓库地址

spring.cloud.config.server.git.searchPaths:配置仓库路径

spring.cloud.config.label:配置仓库的分支

spring.cloud.config.server.git.username:访问git仓库的用户名

spring.cloud.config.server.git.password:访问git仓库的用户密码

如果Git仓库为公开仓库,可以不填写用户名和密码,如果是私有仓库需要填写,本例子是公开仓库,放心使用。

远程仓库https://github.com/forezp/SpringcloudConfig/ 中有个文件config-client-dev.properties文件中有一个属 性:

foo = foo version 3

启动程序:访问http://localhost:8888/foo/dev

{"name":"foo","profiles":["dev"],"label":"master","version":"792ffc77c03f4b138d28e89b576900ac5e01a44b","state":null,"propertySources":[]}

明配置服务中心可以从远程程序获取配置信息。

http请求地址和资源文件映射如下:

/{application}/{profile}[/{label}]

/{application}-{profile}.yml

/{label}/{application}-{profile}.yml

/{application}-{profile}.properties

/{label}/{application}-{profile}.properties

三、构建一个config client

重新创建一个springboot项目,取名为config-client,其pom文件:

        4.0.0        com.forezp        config-client        0.0.1-SNAPSHOT        jar        config-client        Demo project for Spring Boot                        com.forezp                sc-f-chapter6                0.0.1-SNAPSHOT                                                        org.springframework.boot                        spring-boot-starter-web                                                        org.springframework.cloud                        spring-cloud-starter-config                                                                                                        org.springframework.boot                                spring-boot-maven-plugin                                                

其配置文件bootstrap.properties:

spring.application.name=config-clientspring.cloud.config.label=masterspring.cloud.config.profile=devspring.cloud.config.uri= http://localhost:8888/server.port=8881

spring.cloud.config.label 指明远程仓库的分支

spring.cloud.config.profile

dev开发环境配置文件

test测试环境

pro正式环境

spring.cloud.config.uri= http://localhost:8888/ 指明配置服务中心的网址。

程序的入口类,写一个API接口"/hi",返回从配置中心读取的foo变量的值,代码如下:

@SpringBootApplication@RestControllerpublic class ConfigClientApplication {        public static void main(String[] args) {                SpringApplication.run(ConfigClientApplication.class, args);        }        @Value("${foo}")        String foo;        @RequestMapping(value = "/hi")        public String hi(){                return foo;        }}

打开网址访问:http://localhost:8881/hi,网页显示:

foo version 3

这就说明,config-client从config-server获取了foo的属性,而config-server是从git仓库读取的,如图:

配置 仓库 文件 服务 程序 分布式 环境 用户 组件 代码 入口 分支 地址 密码 服务中心 用户名 网址 项目 UTF-8 支持 数据库的安全要保护哪些东西 数据库安全各自的含义是什么 生产安全数据库录入 数据库的安全性及管理 数据库安全策略包含哪些 海淀数据库安全审计系统 建立农村房屋安全信息数据库 易用的数据库客户端支持安全管理 连接数据库失败ssl安全错误 数据库的锁怎样保障安全 互联网科技公司 互联网科技产业 互联网是不是新科技 河南真二互联网科技有限公司 互联网金融与金融科技 佰商互联网科技有限公司 互联网金融科技委员会 中国互联网金融科技基金 哈尔滨屹滨互联网科技有限公司 996高科技互联网公司 乌鲁木齐新华智原互联网科技学校 保险科技服务互联网营销体系 元气玛特互联网科技公司是外包吗 广州燕处互联网科技有限公司 广州梦谷互联网科技有限公司领导 互联网时代科技型公司的机会 求路客互联网科技电话 数字科技和互联网金融哪个好 互联网领先科技成果宣传视频 前海云享互联网科技 A股互联网金融科技公司 金融科技创新监管互联网金融 智慧科技互联网 互联网科技宣传片 深圳前海聚择互联网科技有限公司 济南华为互联网科技产业总部基地 小米互联网科技园设置 允成互联网科技有限公司融资 兰石爱特工业互联网科技分公司 现代科技的标志之一的互联网
0