【Spring Cloud】配置中心-Config

て烟熏妆下的殇ゞ 提交于 2020-08-07 00:38:37

1. 分布式系统面临的问题–配置问题

在分布式系统中,由于服务数量巨多,每个服务的粒度相对较小,而且每个服务都需要必要配置信息才能运行。为了方便服务配置文件统一管理,实时更新,所以需要分布式配置中心组件。在Spring Cloud中,有分布式配置中心组件springcloud config,它支持配置服务放在配置服务的内存中(即本地),也支持放在远程Git仓库中。在springcloud config组件中,分两个角色,一个config server,一个config client。

2. config是什么

在这里插入图片描述
Springcloud Config为微服务架构中的微服务提供集中化的外部配置支持,配置服务器为各个不同微服务应用的所有环境提供了一个中心化的外部配置。

application.yml 和 bootstrap.yml的区别:
application.yml 是用户级的资源配置项
bootstrap.yml 是系统级的,优先级更高

springcloud会创建一个“Bootstrap Context”作为spring应用的“Application Context”的父上下文。初始化的时候,“Bootstrap Context”负责从外部源加载配置属性并解析配置。这两个上下文共享一个从外部获取的“Environment”。

“Bootstrap”属性有高优先级,默认情况下,它们不会被本地配置覆盖。“Bootstrap Context” 和 “Application Context”有不同的约定,所以新增了一个“bootstrap.yml”文件,保证“Application Context” 和 “Application Context”配置的分离

3. 作用

• 集中管理配置文件
• 不同环境不同配置,动态化的配置更新,分环境部署。比如dev/test/prod/beta/release
• 运行期间动态调整配置,不再需要在每个服务部署的机器上编写配置文件,服务会向配置中心统一拉取配置自己的信息
• 当配置发生变动时,服务不需要重启即可感知到配置的变化并应用新的配置
• 将配置信息以REST接口的形式暴露

4.config的使用

Springcloud Config分为 服务端和客户端两部分。

• 服务端也称为分布式配置中心,它是一个独立的微服务应用,用来连接配置服务器并为客户端提供获取配置信息,加密/解密信息等访问接口。

• 客户端则是通过指定的配置中心来管理应用资源,以及与业务相关的配置内容,并在启动的时候从配置中心获取和加载配置信息配置服务器默认采用git来存储配置信息,这样就有助于对环境配置进行版本管理,并且可以通过git客户端工具来方便的管理和访问配置内容。

易学教程内所有资源均来自网络或用户发布的内容,如有违反法律规定的内容欢迎反馈
该文章没有解决你所遇到的问题?点击提问,说说你的问题,让更多的人一起探讨吧!