0

我想使用 spring cloud config 来外部化应用程序属性。我已经配置了配置服务器和客户端,但我不想使用 git(enterprise) 作为源,这是因为 git 可能因维护而停机。因此,我考虑将应用程序属性作为 application.properties.tar.gz 发布到 nexus 并执行以下操作:

1.) config-server 启动时,从nexus 下载release 版本,然后将tar.gz 解压到运行config-server 的服务器上的文件系统中。

2.) 将选择解压缩的属性文件的配置服务器。

请注意,nexus url、application.properties.tar.gz 版本和位置都作为 VM 选项传递给配置服务器。

这是一个明智的选择吗?如果这不是最佳选择,请您提出其他选择吗?

谢谢坎卡拉姆

4

1 回答 1

0

除非 Git 服务器如此频繁地因维护而停机,否则我不会选择该选项,这似乎是一种矫枉过正。Nexus 服务器也可能出现故障,因此这样做没有任何优势。

配置服务器不会一次又一次地从存储库中读取配置,请求配置时会克隆存储库。从文档

定位属性源的默认策略是克隆一个 git 存储库(位于 spring.cloud.config.server.git.uri)并使用它来初始化一个迷你 SpringApplication。迷你应用程序的环境用于枚举属性源并通过 JSON 端点发布它们。

考虑到这一点,您需要在启动应用程序或刷新其上下文之前检查您使用的 git 服务器是否可用。如果您认为这可能是一个问题,您仍然有两个选择:

  • 为您的应用程序设置专用的 Git 服务器(查看Gogs作为轻量级选项)。
  • 采用“本机”方式并从文件系统加载文件。这样您就没有配置文件的版本控制,但您可以在您的项目中单独进行。
于 2016-05-16T20:30:35.647 回答