spring云配置最佳实践?
例如,对于基于spring的项目,有eureka config(eureka.properties)、zuul config(zuul.properties)、feign config(feign.properties)等 还有多种环境,如dev、test、staging,如application-dev.properties、application-prod.propertiesspring云配置最佳实践?,spring,spring-boot,spring-cloud,spring-cloud-config,Spring,Spring Boot,Spring Cloud,Spring Cloud Config,例如,对于基于spring的项目,有eureka config(eureka.properties)、zuul config(zuul.properties)、feign config(feign.properties)等 还有多种环境,如dev、test、staging,如application-dev.properties、application-prod.properties 在项目中引入SpringCloud配置之后,我们可以将所有配置文件保存到GitRepo中,但是如何很好地组织这些配
在项目中引入SpringCloud配置之后,我们可以将所有配置文件保存到GitRepo中,但是如何很好地组织这些配置文件呢?最小化spring cloud客户端项目的配置?似乎我一开始误解了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”是一个活动的概要文件(或以逗号分隔的属性列表),而>“label”是一个可选的git标签(默认为“master”)
使用spring cloud config内置机制,spring cloud config将所有属性作为REST资源公开,因此:
- 应用程序是spring引导客户端项目
spring.application.name
- profile是spring引导客户端项目中的
spring.profiles.active
- label是git分支名称,其中git git repo由spring云配置服务器指定,例如
spring.cloud.config.server.git.uri
根据上述规则获取所有属性
通常,对于spring boot客户端项目,只需配置spring cloud config服务器,如下所示:
spring:
application:
name: eureka
cloud:
config:
uri: http://localhost:8888
profiles:
active: dev, prod
因此,客户端将在spring cloud config server中获取所有属性:eureka-dev.yml
和eureka-prod.yml
。加载特定于环境的属性的规则相同(即应用程序.properties
和应用程序-[profile].properties
)应用于从配置服务器加载的属性。它也适用于bootstrap.properties
和bootstrap-[profile].properties
..@M.Deinum是的,对于不同的环境,它可以使用应用程序-[profile].properties方法,谢谢。