SpringCloud-Config的理解与应用

Config概述

在分布式系统中,项目越来越多,每个项目都有自己的配置文件,对配置文件的统一管理就成了一种需要,SpringCloud-Config就提供了对分布式项目配置文件的统一管理

SpringCloud-Config包含Client和Service两部分,service提供配置文件的存储,以接口的形式将配置文件提供出去,client通过接口获取数据,依据此数据初始化应用

Config如何使用?

1.首先搭建一个config工程

在这里插入图片描述

2.创建4个配置文件推送到配置的git地址

创建配置文件
在这里插入图片描述
上传码云后
在这里插入图片描述

3.启动项目访问测试,访问成功时会自动clone一份保存到本地(日志信息可以看到)

在这里插入图片描述
在这里插入图片描述

Config客户端测试

1.首先搭建一个config-client工程

在这里插入图片描述

2.添加maven依赖
<dependencies>
    <!--web功能的起步依赖,以功能为单位,底层帮我们集成各种坐标-->
    <dependency>
        <groupId>org.springframework.boot</groupId>
        <artifactId>spring-boot-starter-web</artifactId>
    </dependency>
    <dependency>
        <groupId>org.springframework.boot</groupId>
        <artifactId>spring-boot-starter-test</artifactId>
        <scope>test</scope>
    </dependency>

    <dependency>
        <groupId>org.springframework.cloud</groupId>
        <artifactId>spring-cloud-starter-config</artifactId>
    </dependency>
</dependencies>
3.创建bootstrap.properties文件如下图

在这里插入图片描述

4.创建controller类访问测试

在这里插入图片描述

5.测试结果(成功获取属性值)

在这里插入图片描述

Config工作原理

在这里插入图片描述
1.首先需要远程仓库,测试环境可以使用GitHub,实际生产自行搭建,主要是用来保存配置文件
2.除了远成仓库,我们还需要本地仓库,每当服务启动时,克隆一份保存到本地仓库,这样即使远程的仓库连接不上,可以使用本地仓库
3.每一个微服务启动会从config服务获取配置信息,加载配置信息的时候,config服务会克隆一份配置文件保存到本地
4.由于配置文件存在git仓库中,所以天然具有版本控制能力

Config安全保护

实际开发中,配置中心不可能随便被访问,我们需要适当的保护机制,如何做呢?

1.config服务添加依赖
	<!--整合spring-security实现安全保护-->
    <dependency>
        <groupId>org.springframework.boot</groupId>
        <artifactId>spring-boot-starter-security</artifactId>
    </dependency>
2.config服务配置文件中配置用户名和密码

在这里插入图片描述

3.config-client配置相同的用户名和密码

在这里插入图片描述

4.启动config服务端和客户端 测试验证

在这里插入图片描述

5.配置错误,或者密码不正确的话,可以自己动手试试
6.访问config服务端需要登录验证

在这里插入图片描述

猜你喜欢

转载自blog.csdn.net/mrhs_dhls/article/details/107922629