【发布时间】:2018-01-28 14:31:07
【问题描述】:
目前我已经设置了一个云配置服务器,客户端应用程序从这个中心属性获取属性。当更改推送到 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 或任何其他公共存储库中。该文件可以通过 CI/CD 推送到不同的租户设置,并包含指向租户配置 API 等的链接。
有没有办法从分布式文件系统(如 HDFS 或 AWS S3)加载引导属性?
【问题讨论】:
-
您始终可以将 s3 文件夹挂载到文件系统上。互联网上有很多关于这方面的信息。
-
我实际上希望覆盖加载 boostrap.properties 文件的部分,并使用 aws sdk 从 s3 中的特定路径加载它。不知道我是否可以轻松地接线 - 这就是我目前正在寻找的。span>
-
这将是一个相当深刻的事情。为什么不询问创建一些自定义代码来覆盖您在 Spring Boot 中获取属性的位置。
-
也看看这个:baeldung.com/spring-cloud-configuration 它使用 git,但我敢打赌它可以扩展!
-
是的,我的设置已经使用了 git,但我的意图是让一个租户从 1 个配置服务器加载属性,另一个租户从另一台服务器加载属性。我想我正在使用 -Dspring.cloud.config.uri=value...提交 jar 时覆盖属性...
标签: java spring spring-cloud