gpt4 book ai didi

java - Spring云配置从AWS S3加载客户端bootstrap.properties

转载 作者:太空宇宙 更新时间:2023-11-04 10:45:12 25 4
gpt4 key购买 nike

目前,我已经设置了一个云配置服务器,客户端应用程序从这个中心属性中获取属性。当更改推送到GIT时,云配置服务器通过rabbitmq将这些配置更改推送到客户端,并且它可以完美运行。

但是,我希望所有客户端应用程序都从云加载具有如下属性的 boostrap.properties;

spring.application.name=app-name
spring.cloud.config.uri=http://user:pass@sub.domain.com:8888
spring.cloud.config.username=username
spring.cloud.config.password=password

我的问题源于这样一个事实:我有多个租户使用同一平台,并且我希望每个租户都有一个不同的配置文件,该文件存储在 S3 或任何其他公共(public)存储库上。该文件可以通过 CI/CD 推送到不同的租户设置,并且包含租户配置 API 等的链接。

有没有办法从分布式文件系统(例如 HDFS 或 AWS S3)加载引导属性?

最佳答案

我写了一篇关于使用 spring cloud-config 和 s3 作为存储配置的后端的博客文章。

https://nageshrsalunke.me/blogs/2019/spring-cloud-config-s3-backend/

为什么选择 S3?

以下是不使用 git 和使用 S3 进行配置存储的具体原因

  • 不向生产部署环境公开 git/源代码控制。
  • 避免在产品环境中复制/克隆或维护 git 服务器。
  • 使用存储进行存储,使用版本控制进行版本控制(单一职责原则)
  • 部署管道定义何时推送配置/不是您的源代码或代码审查系统

实现

使用S3EnvironmentRepository实现spring的EnvironmentRepository“org.springframework.cloud.config.server.environment.EnvironmentRepository”

我有一个示例实现,它会在版本文件中的版本 header 从 s3 更改时按计划获取 s3 配置 https://github.com/nagesh-salunke/spring-cloud-config-s3

关于java - Spring云配置从AWS S3加载客户端bootstrap.properties,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/48487430/

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