首页 文章

spring cloud配置最佳实践?

提问于
浏览
0

例如,对于基于spring的项目,有eureka config(eureka.properties),zuul config(zuul.properties),feign config(feign.properties)等 .

还有一些环境,如dev,test,staging,如application-dev.properties,application-prod.properties .

在将spring cloud配置引入项目之后,我们可以将所有配置文件保存到git repo,但是如何组织这些配置文件呢?并最小化spring cloud客户端项目的配置?

1 回答

  • 1

    似乎我在开始时误解了Spring Cloud 配置,并附有文档

    HTTP服务具有以下形式的资源:/ / [/]
    /
    -.yml
    /
    /-.yml
    /
    -.properties
    /
    /-.properties
    其中“application”作为springApplication中的spring.config.name注入(即常规Spring Boot> app中通常为“application”),“profile”是一个活动的配置文件(或以逗号分隔的属性列表) ),>“label”是一个可选的git标签(默认为“master” . )

    使用spring cloud config内置机制,spring cloud config将所有属性公开为REST资源,因此其中:

    • application 是spring boot客户端项目 spring.application.name

    • profile 是spring boot客户端项目中的 spring.profiles.active

    • label 是git分支名称,其中git git repo由spring cloud配置服务器特定,例如, spring.cloud.config.server.git.uri

    然后客户端可以 GET 违反上述规则的所有属性 .

    通常对于spring boot客户端项目,只需要配置spring cloud配置服务器,如:

    spring:
      application:
        name: eureka
      cloud:
        config: 
          uri: http://localhost:8888
      profiles:
        active: dev, prod
    

    所以客户端将 GET 所有属性: eureka-dev.ymleureka-prod.yml 在spring cloud配置服务器中 .

相关问题