我的环境很少。有:
如果配置服务器连接到所有服务器,一切都会清除。
就我而言,我需要每个组的配置服务器:
组连接到权限和不同的环境。
所以我需要每个客户类似的东西
bootstrap.yml
# default configs for local, dev, test profiles
spring:
application:
name: discovery-service
cloud:
config:
uri: http://local-dev-test-configuration-server:8888
---
# **bootstrap-qa.yml**
spring:
profiles: qa
application:
name: discovery-service
cloud:
config:
uri: http://qa-configuration-server:8888
---
# **bootstrap-prod.yml**
spring:
profiles: prod,lod
application:
name: discovery-service
cloud:
config:
uri: http://lod-prod-configuration-server:8888
哪里
local-dev-test-configuration-server
将有权访问local
,dev
和test
服务器配置; qa-configuration-server
将有权访问qa
配置; lod-prod-configuration-server
仅可以访问prod
和lod
配置。我研究了Spring Boot文档,但没有遇到bootstrap.yml
分析。
答案 0 :(得分:0)
有两种可能的解决方案为spring-cloud-configuration-servers配置客户端:
bootstrap.yml
中的配置文件,因此可以将所提供的配置用作解决方案spring:
application:
name: discovery-service
cloud:
config:
uri: http://local-dev-test-configuration-server:8888
---
spring:
profiles: qa
application:
name: discovery-service
cloud:
config:
uri: http://qa-configuration-server:8888
---
spring:
profiles: prod,lod
application:
name: discovery-service
cloud:
config:
uri: http://lod-prod-configuration-server:8888
bootstrap.yml
的配置尽可能简单:spring:
application:
name: discovery-service
cloud:
config:
uri: http://local-dev-test-configuration-server:8888
在这种情况下,解决方案是使用-Dspring.cloud.config.uri=http://localhost:8888
参数覆盖必需的属性,例如:
java -Dspring.profiles.active=localhost -Dspring.cloud.config.uri=http://localhost:8888 -jar ./target/discovery-service-0.0.1-SNAPSHOT.jar
方法可以混合。