美文网首页
面试篇:Spring Cloud Config

面试篇:Spring Cloud Config

作者: 文大奇Quiin | 来源:发表于2020-07-04 09:19 被阅读0次

1. 微服务对配置的需求

1. 集中管理配置。

2. 不同环境,不同配置。

3. 运行期间可动态调整。

4. 配置修改后可自动更新。

2. Config简介

Spring Cloud Config为分布式系统外部化配置提供了服务器端和客户端的支持,它包括Config Server和Config Client 两部分。Spring Cloud Config实现了对Spring Environment和PropertySource抽象的映射。

Config Server 是一个可横向扩展、集中式的配置服务器,它用于集中管理应用程序各个环境下的配置,默认使用Git存储配置内容。

Config Client是Config Server客户端,用于操作存储在Config Server中的配置属性。

3. Config Server的Git仓库配置

3.1 占位符支持

Config Server的占位符支持{application},{profile}和{label}。

//一个应用对应一个Git仓库

spring.cloud.config.server.git.uri =http://git.oschina.net/itmuch/{application}

//同一个环境一个Git仓库

spring.cloud.config.server.git.uri =http://git.oschina.net/itmuch/{profile }

4. 配置内容加解密

Config Server的加解密功能依赖Java Cryptography Extension。Config Server提供了加密和解密的端点,分别是/encrypt和/decrypt。

4.1 对称加密

Config Server中bootstrap.yml添加:

         encrypt.key=对称密钥


加密后的内容,使用’{cipher}密文’的形式存储。


如果想 Config Server 不解密,由Config Client 自行解密的话。可在Config Server中加入以下配置。

spring. cloud. config. server. encrypt. enabled = false

5. 手动刷新配置

在运行期间动态调整配置,使用/refresh端点手动刷新。

6. Config用户认证

6.1 Config Server

Config Server基于HTTP Basic用户认证。

添加spring-boot-starter-security依赖。

在application.yml中添加:

         security.basic.enable= true

         security.user.name= username

         security.user.password= password

6.2 Config Client

Config Client认证的方式:

spring.cloud.config.uri =http://username:password@localhost:8080/

相关文章

网友评论

      本文标题:面试篇:Spring Cloud Config

      本文链接:https://www.haomeiwen.com/subject/vwlyqktx.html