说明:SpringCloud系列笔者自学系列,学习来源是周立的博客 http://www.itmuch.com/ 。而此处转载其博客只是为了方便自己以后的学习。
本篇来源 http://www.itmuch.com/spring-cloud/finchley-20/
在跟我学Spring Cloud(Finchley版)-19-配置中心-Spring Cloud Config 一节中,已实现使用Git仓库作为Config Server的后端存储,本节详细探讨如何配置Git仓库。
一、占位符支持
Config Server的占位符支持{application}、{profile}和{label}。
示例:
server: port: 8080 spring: application: name: microservice-config-server cloud: config: server: git: uri: https://git.oschina.net/itmuch/{application} username: password: |
使用这种方式,即可轻松支持一个应用对应一个Git仓库。同理,也可支持一个profile对应一个Git仓库。
二、模式匹配
模式匹配指的是带有通配符的{application}/{profile}名称的列表。如果{application}/{profile}不匹配任何模式,它将会使用spring.cloud.config.server.git.uri
定义的URI。
spring: cloud: config: server: git: uri: https://github.com/spring-cloud-samples/config-repo repos: simple: https://github.com/simple/config-repo special: pattern: special*/dev*,*special*/dev* uri: https://github.com/special/config-repo local: pattern: local* uri: file:/home/configsvc/config-repo |
该例中,对于simple仓库,它只匹配所有配置文件中名为simple的应用程序,它的模式等同于simple/*
。local仓库则匹配所有配置文件中以local开头的所有应用程序的名称。
三、搜索目录
很多场景下,我们可能把配置文件放在了Git仓库子目录中,此时可以使用search-paths指定,search-path同样支持占位符。
spring: cloud: config: server: git: uri: http://git.oschina.net/itmuch/spring-cloud-config-repo search-paths: foo,bar* |
这样,Config Server就会在Git仓库根目录、foo子目录、以及所有以bar开始的子目录中查找配置文件。
四、启动时加载配置文件
默认情况下,在配置被首次请求时,Config Server才会clone Git仓库。我们也可让Config Server在启动时就clone Git仓库,例如。
spring: cloud: config: server: git: uri: https://github.com/spring-cloud-samples/config-repo repos: team-a: pattern: microservice-* clone-on-start: true uri: http://git.oschina.net/itmuch/spring-cloud-config-repo |
将属性spring.cloud.config.server.git.repos.*.clone-on-start
设为true,即可让Config Server启动时clone指定Git仓库。
当然,也可使用spring.cloud.config.server.git.clone-on-start = true
进行全局配置。
配置clone-on-start = true,可帮助Config Server启动时快速识别错误的配置源(例如无效的Git仓库)。
小技巧
将以下包的日志级别设为DEBUG,即可打印Config Server请求Git仓库的细节。我们可借助日志,更好地理解Config Server的Git仓库配置,同时,也便于我们快速定位问题。
logging: level: org.springframework.cloud: DEBUG org.springframework.boot: DEBUG |
相关文章
- 跟我学Spring Cloud(Finchley版)-19-配置中心-Spring Cloud Config
- Config Server——使用Spring Cloud Bus自动刷新配置
- Spring Cloud第二篇 创建一个Eureka Server
- Spring Cloud中,如何解决Feign/Ribbon第一次请求失败的问题?
- Spring Cloud中,Eureka常见问题总结
相关推荐
首先,我们创建一个`config-repo`目录,它将作为Spring Cloud Config Server的配置仓库。在这个仓库中,我们可以为每个微服务创建独立的配置文件,例如`application.properties`或`application.yml`,并将这些文件...
在接下来的内容中,我将详细描述标题《Spring Cloud Finchley.SR1-Spring Cloud 手册-Spring Cloud 文档》与《Spring Cloud 2.x手册-Spring Cloud 2.x 文档》以及标签“springCloud spring 微服务”中涉及的知识点。...
Git 是一种广泛使用的版本控制系统,Spring Cloud Config 将 Git 作为后端存储,允许开发者集中管理和版本控制应用程序的配置。这个“springcloudconfig-git”项目显然整合了这两个功能,为分布式系统的配置提供了一...
spring-cloud-config-git:配置中心git版本示例 spring-cloud-config-svn-refresh:配置中心svn版本示例,客户端refresh版本示例 spring-cloud-config-eureka:配置中心服务化和高可用代码示例 spring-cloud-config-...
本文将详细介绍如何搭建Spring Cloud Config,并探讨其作为本地配置中心和Git配置中心的两种模式。 首先,我们需要理解Spring Cloud Config的核心概念。它由两个主要组件构成:Config Server(配置服务器)和Config...
5. **Spring Cloud Config**: 这是一个配置服务器和客户端的集合,允许你在开发过程中集中管理和推送配置,支持 Git 存储和服务器端的实时刷新。 6. **Spring Cloud Bus**: 控制总线,用于广播事件到所有的服务实例...
- [spring-cloud-config-git](https://github.com/ityouknow/spring-cloud-examples/tree/master/spring-cloud-config-git):配置中心git版本示例 - [spring-cloud-config-svn-refresh]...
然后,利用Spring Boot作为基础,我们可以构建出一套完整的Spring Cloud生态系统,包括Eureka(服务发现)、Zuul(API网关)、Hystrix(断路器)、Spring Cloud Config(配置管理)等组件,实现微服务间的通信和服务...
Spring Cloud Config是Spring Cloud提供的一个解决分布式系统配置管理的解决方案。它包括服务端和客户端两个部分,服务端提供了一个集中的配置管理点,支持将配置文件存储在Git、SVN等版本控制系统中,并能够支持...
在微服务架构中,Spring Cloud Config 是一个强大的分布式配置中心,它允许开发人员将应用程序的配置存储在远程仓库中,并且可以在运行时动态地管理和更新这些配置,无需重启应用。这个特性对于大型分布式系统来说...
spring-cloud-config-git:配置中心git版本示例 spring-cloud-config-svn-refresh:配置中心svn版本示例,客户端refresh版本示例 spring-cloud-config-eureka:配置中心服务化和高可用代码示例 spring-cloud-config-...
5. **Config**:Spring Cloud Config是Spring提供的一个分布式配置中心,它可以集中管理各个环境下的配置,支持Git仓库存储配置,并且能实时推送到各个服务,实现配置的动态更新。这对于微服务架构尤其重要,因为每...
在这个特定的压缩包"SpringCloud统一配置中心-jilinwula-springcloud-config.zip"中,我们关注的是SpringCloud的配置中心,这是一个关键的特性,用于集中管理和分发应用的配置,使得在分布式系统中能够动态更新配置...
Spring Cloud Config是配置管理工具,它支持服务化配置的集中管理和动态刷新。通过Config Server,各个微服务可以从中心配置仓库获取配置,而不是硬编码在应用中。此外,Config Server还可以与Git集成,方便版本控制...
### Spring Cloud Config 配置中心搭建与 Git 多文件夹存放配置文件 #### 一、Spring Cloud Config 配置中心简介 Spring Cloud Config 是一种分布式配置解决方案,它为微服务架构中的应用程序提供了一种集中式的...
- 配置服务器是Spring Cloud Config的核心,它可以是本地Git仓库、Subversion或GitHub等远程仓库,用于存储配置文件。 - 配置文件通常按照`application`(应用名)和`profile`(环境)进行组织,例如`application-...
1.Spring Cloud Config 用于为分布式系统中的基础设施和微服务应用提供集中化的外部配置支持,分为服务端和客户端。 2.服务端为分布式配置中心,是一个独立的微服务应用;客户端为分布式系统中的基础设置或微服务...
- `spring.cloud.config.server.git.uri`: Git仓库的URL,存储配置文件。 - `spring.cloud.config.label`: Git分支名称,通常为master。 - `spring.cloud.config.server.git.username` 和 `spring.cloud.config....
3. **启动Config**:配置好Config服务器,如Git仓库地址、服务端口等,然后启动服务。微服务在启动时会向Config服务器拉取配置。 4. **启动System**:根据具体实现,启动System服务,可能需要配置数据库连接、日志...
Spring Cloud配置中心获取不到最新配置信息的问题可以通过设置 `spring.cloud.config.server.git.basedir` 或 `spring.cloud.config.server.svn.basedir` 参数来解决,关键是了解配置中心的工作机制和基于VCS的...