> For the complete documentation index, see [llms.txt](https://jun-wang.gitbook.io/learnjava/llms.txt). Markdown versions of documentation pages are available by appending `.md` to page URLs; this page is available as [Markdown](https://jun-wang.gitbook.io/learnjava/ji-shu-xue-xi/spring/springcloud/springcloudconfig.md).

# SpringCloudConfig

Config用来为分布式系统中的基础设施和微服务应用提供集中化的外部配置支持，它分为服务端和客户端两部分，其中服务端也称为分布式配置中心，它是一个独立的微服务应用，用来连接配置仓库并为客户端提供获取配置信息、加密/解密信息等访问接口；而客户端则是微服务架构中的各个微服务应用或基础设置，它们通过指定的配置中心来管理应用资源与业务相关的配置内容，并在启动的时候从配置中心获取和加载配置信息。Config实现的配置中心默认采用Git来存储信息，所以使用Conifg构建的配置服务器，天然就支持对微服务应用配置信息的版本管理，并且可以通过Git客户端工具来方便的管理和访问配置内容。

## 特性

* 加密/解密
* 支持配置的版本管理，默认使用git，也可以使用SVN和本地文件系统
*

## 疑问

当git的远程仓库更新之后，config-client不能立即获取最新的配置，如何动态生效呢？

答：加入依赖`spring-boot-starter-actuator`，其中的`/refresh`端点用于实现客户端应用配置的重新获取和刷新，git变更后，需要发送一个post请求`http://client_ip:port/refresh`(如果404则增加配置`management.endpoints.web.exposure.include=*`)就可以刷新配置了。
