Spring cloud config 的概念及应用

版权声明:本文为博主原创文章,未经博主允许不得转载。 https://blog.csdn.net/gyshun/article/details/82957708

      Spring cloud Config是提供统一管理配置,进行配置的集中管理;把不同的环境进行不同的配置,比如开发、测试、演示、生产环境进行单独配置和管理,全球维护;也提供运行期间动态调整配置,比如说每天的流量较大,就需要把配置调整大一些;可以提供自动刷新,就是配置完成之后,就可以直接生效,当然,这些功能Zookeeper也可以提供。

     Spring cloud Config 为分布式系统外部化配置提供了服务器端与客户端的支持,它包括Config Server 和Config Client两部分,由于Spring Server 和Config Client都实现了对Spring Environment和PropertySource抽象的映射,因此,Spring Cloud Config非常适合Spring应用程序,当然也可以与任何语言编写的应用程序配合实用。

Config Server是一个横向扩展、集中式的配置服务器,它用于集中管理应用程序各个环境下的配置,默认使用Git存储配置内容(也可以使用Subversion,本地文件系统或Vault存储配置),因此可以很方便地实现对配置的版本控制和内容审计。

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

Spring Cloud Confg 架构图:

1、对于Config Server如何访问

Config Server访问是这样规定的:

说明:lable是指GIt中的版本,默认是master

application是应用的名字,是你配置的server.application.name

profile是定义的高可用的时候指定的名字,其实也是高可用的服务器的名字。

2、Config server配置文件加载顺序

首先加载bootstrap.*里面的配置,然后再链接Config Server,然后加载远程配置(Git仓库的配置),最后加载Application.*的配置

3、Spring Cloud Config加解密

首先从Oracle官网中下载JCE里面还有两个Lib包,然后覆盖JDK中安全包,如下图:

然后在SpringBoot工程application.yml中加入这个encrypt.key: foo,其中foo是加密引子。

对于加密的密文要这样存放在YML文件中如下图;

注意:用Properties属性文件时,密文是不带有引号的。

注意:对于使用YML时,密文需要加引号

4、Spring Cloud Config配置自动更新

Spring cloud Config要与RabbitMq 或者Kafka一块工作,才能使用配置自动 更新。

RbbitMq是采用Erlang开发的一个款消息队列。所以安装RabbitMq之前需要先安装ERLang的二进制安装程序。

猜你喜欢

转载自blog.csdn.net/gyshun/article/details/82957708