`

跟我学Spring Cloud(Finchley版)-20-Spring Cloud Config-Git仓库配置详解

 
阅读更多

说明: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-config + spring-cloud-bus-amqp实现分布式集群配置动态更新

    首先,我们创建一个`config-repo`目录,它将作为Spring Cloud Config Server的配置仓库。在这个仓库中,我们可以为每个微服务创建独立的配置文件,例如`application.properties`或`application.yml`,并将这些文件...

    Spring Cloud Finchley.SR1-Spring Cloud 手册-Spring Cloud 文档

    在接下来的内容中,我将详细描述标题《Spring Cloud Finchley.SR1-Spring Cloud 手册-Spring Cloud 文档》与《Spring Cloud 2.x手册-Spring Cloud 2.x 文档》以及标签“springCloud spring 微服务”中涉及的知识点。...

    springcloudconfig-git

    Git 是一种广泛使用的版本控制系统,Spring Cloud Config 将 Git 作为后端存储,允许开发者集中管理和版本控制应用程序的配置。这个“springcloudconfig-git”项目显然整合了这两个功能,为分布式系统的配置提供了一...

    spring-cloud-examples

    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,并探讨其作为本地配置中心和Git配置中心的两种模式。 首先,我们需要理解Spring Cloud Config的核心概念。它由两个主要组件构成:Config Server(配置服务器)和Config...

    spring-cloud项目_springcloud_springcloud项目_springcloud_spring-clou

    5. **Spring Cloud Config**: 这是一个配置服务器和客户端的集合,允许你在开发过程中集中管理和推送配置,支持 Git 存储和服务器端的实时刷新。 6. **Spring Cloud Bus**: 控制总线,用于广播事件到所有的服务实例...

    spring-cloud使用的各种示例

    - [spring-cloud-config-git](https://github.com/ityouknow/spring-cloud-examples/tree/master/spring-cloud-config-git):配置中心git版本示例 - [spring-cloud-config-svn-refresh]...

    springcloud-demo-master_spring-cloud_cloud_

    然后,利用Spring Boot作为基础,我们可以构建出一套完整的Spring Cloud生态系统,包括Eureka(服务发现)、Zuul(API网关)、Hystrix(断路器)、Spring Cloud Config(配置管理)等组件,实现微服务间的通信和服务...

    spring cloud中文版【Spring Cloud Config】--spring cloud中文文档.pdf

    Spring Cloud Config是Spring Cloud提供的一个解决分布式系统配置管理的解决方案。它包括服务端和客户端两个部分,服务端提供了一个集中的配置管理点,支持将配置文件存储在Git、SVN等版本控制系统中,并能够支持...

    SpringCloud——分布式配置中心(Spring Cloud Config)

    在微服务架构中,Spring Cloud Config 是一个强大的分布式配置中心,它允许开发人员将应用程序的配置存储在远程仓库中,并且可以在运行时动态地管理和更新这些配置,无需重启应用。这个特性对于大型分布式系统来说...

    springcloud微服务框架+服务模版

    spring-cloud-config-git:配置中心git版本示例 spring-cloud-config-svn-refresh:配置中心svn版本示例,客户端refresh版本示例 spring-cloud-config-eureka:配置中心服务化和高可用代码示例 spring-cloud-config-...

    springcloud-ribbon-feign-hystrix-zuul-config

    5. **Config**:Spring Cloud Config是Spring提供的一个分布式配置中心,它可以集中管理各个环境下的配置,支持Git仓库存储配置,并且能实时推送到各个服务,实现配置的动态更新。这对于微服务架构尤其重要,因为每...

    SpringCloud统一配置中心-jilinwula-springcloud-config.zip

    在这个特定的压缩包"SpringCloud统一配置中心-jilinwula-springcloud-config.zip"中,我们关注的是SpringCloud的配置中心,这是一个关键的特性,用于集中管理和分发应用的配置,使得在分布式系统中能够动态更新配置...

    Ideal版SpringCloud框架参考---分布式微服务架构参考

    Spring Cloud Config是配置管理工具,它支持服务化配置的集中管理和动态刷新。通过Config Server,各个微服务可以从中心配置仓库获取配置,而不是硬编码在应用中。此外,Config Server还可以与Git集成,方便版本控制...

    springcloud配置中心搭建以及git多文件夹存放配置文件

    ### Spring Cloud Config 配置中心搭建与 Git 多文件夹存放配置文件 #### 一、Spring Cloud Config 配置中心简介 Spring Cloud Config 是一种分布式配置解决方案,它为微服务架构中的应用程序提供了一种集中式的...

    spring cloud config client 服务配置中心 客户端

    - 配置服务器是Spring Cloud Config的核心,它可以是本地Git仓库、Subversion或GitHub等远程仓库,用于存储配置文件。 - 配置文件通常按照`application`(应用名)和`profile`(环境)进行组织,例如`application-...

    SpringCloud Config Demo编写

    1.Spring Cloud Config 用于为分布式系统中的基础设施和微服务应用提供集中化的外部配置支持,分为服务端和客户端。 2.服务端为分布式配置中心,是一个独立的微服务应用;客户端为分布式系统中的基础设置或微服务...

    SpringCloud配置详解

    - `spring.cloud.config.server.git.uri`: Git仓库的URL,存储配置文件。 - `spring.cloud.config.label`: Git分支名称,通常为master。 - `spring.cloud.config.server.git.username` 和 `spring.cloud.config....

    springcloud-app-master

    3. **启动Config**:配置好Config服务器,如Git仓库地址、服务端口等,然后启动服务。微服务在启动时会向Config服务器拉取配置。 4. **启动System**:根据具体实现,启动System服务,可能需要配置数据库连接、日志...

    Spring Cloud配置中心获取不到最新配置信息的问题

    Spring Cloud配置中心获取不到最新配置信息的问题可以通过设置 `spring.cloud.config.server.git.basedir` 或 `spring.cloud.config.server.svn.basedir` 参数来解决,关键是了解配置中心的工作机制和基于VCS的...

Global site tag (gtag.js) - Google Analytics