上一篇:SpringCloud—(8)Zuul路由网关
1.为什么会有SpringCloud Config?
所谓的微服务架构,就是将一个应用拆分成多个微服务,然后微服务之间再进行相互调用协调,但是每个微服务都需要进行一些特定的配置,它的配置或许不多,但是不可缺少。一个完整的微服务架构的项目中,可能会有好几百个微服务,那每个微服务中都有一点配置,如果此时需要对配置进行调整,就问你绝不绝望?
Spirng Cloud实际上也是单独的微服务,它将项目中的各个微服务的配置文件进行整合统一管理,为微服务架构提供中心化的外部配置支持。
SpringCloud Config分为客户端和服务端
1.客户端:
通过指定的配置中心来管理项目应用资源以及与业务相关的配置内容,在项目启动的时候从配置中心中获取配置信息。配置服务器默认使用Git来存储配置信息,方便配置文件版本管理。
2.服务端:
也称为“分布式配置中心”
,它是一个单独的微服务,用来连接配置服务器和客户端提供获取配置信息,加密解密等访问接口。
2.SpringCloud Config能做什么?
- 集中管理配置文件
- 不同环境、不同配置可以进行动态更新
- 当配置变动的时候,不再需要重启服务即可应用新的配置。
- 运行期间动态调整配置,不再需要在每个服务部署的机器上编写配置文件,服务会向配置中心统一拉取配置信息。
- 将配置信息以Rest接口形式进行暴露。
3.客户端配置
创建好SpringCloud Config Server项目的时候,需要引入以下依赖:
<dependency>
<groupId>org.springframework.cloud</groupId>
<artifactId>spring-cloud-starter-config</artifactId>
<version>2.2.1.RELEASE</version>
</dependency>
当客户端启动得时候,将会尝试连接config服务端获取远程配置信息,所以我们需要在客户端中对服务端信息进行配置指定配置中心,(注意:config得连接地址是uri而不是url):
spring:
application:
name: configFile
cloud:
config:
profile: dev
uri: http://localhost:8083/
4.失败快速响应
客户端在连接Config Server之前,会加载很多其他的数据,如果想要优先让客户端判断Config Server是否是可用的,则可以做如下配置:
spring:
cloud:
config:
fail-fast: true
SpringCloud的配置文件依赖于代码托管平台(GitHub,码云),在IDEA工具中去集成Git可以下一篇文章: