gpt4 book ai didi

java - 为每个配置文件组配置 Spring Cloud 配置服务器

转载 作者:行者123 更新时间:2023-12-02 02:05:52 25 4
gpt4 key购买 nike

我的环境很少。有:

  • 本地
  • 开发
  • 测试
  • 质量保证
  • 洛德
  • 产品

如果配置服务器连接到所有这些,一切都会清楚。

就我而言,我需要每个组配置服务器:

  • 由开发人员控制
  • 受质量保证控制
  • 近 DevOps 控制

组与权限和不同的环境相关联。

所以我需要为每个客户提供类似的东西:

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 将有权访问 localdevtest 服务器配置;
  • qa-configuration-server 将有权访问 qa 配置;
  • lod-prod-configuration-server 只能访问 prodlod 配置。

问题:

我研究了 Spring Boot 文档,但还没有遇到过 bootstrap.yml 分析。

  1. 我应该采用哪种方式来满足我的需求(管理 3 个不同的配置服务器和相应的配置文件)?
  2. 我检测到有能力 configure different git resources对于相同的配置服务器。这种方法最适合我的情况吗(我还必须管理几个存储库来保留所需的配置)?我不这么认为。由于可见性不同,我需要为不同的环境配置少量的配置服务器。因此,我需要根据配置文件对每个消费者配置主机名进行配置。

最佳答案

有两种可能的解决方案来为 spring-cloud-configuration-servers 配置客户端:

  1. spring-boot 支持 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

    附注

    可以混合使用多种方法。

    关于java - 为每个配置文件组配置 Spring Cloud 配置服务器,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/57357162/

    25 4 0
    Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
    广告合作:1813099741@qq.com 6ren.com