对于基于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客户端项目的配置?
答案 0 :(得分:1)
似乎我在开始时错误地理解了spring cloud配置,并附有文档
HTTP服务具有以下形式的资源:
/{application}/{profile}[/{label}] /{application}-{profile}.yml /{label}/{application}-{profile}.yml /{application}-{profile}.properties /{label}/{application}-{profile}.properties
"应用程序"在>中注入spring.config.name SpringApplication(即通常"应用程序"在常规Spring Boot>应用程序中)," profile"是一个活动的配置文件(或逗号分隔的属性列表),> "标签"是一个可选的git标签(默认为" master"。)
使用spring cloud config内置机制,spring cloud config会将所有属性公开为REST资源,所以其中:
spring.application.name
spring.profiles.active
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
Spring云配置服务器中的所有属性:eureka-dev.yml
和eureka-prod.yml
。