2016-05-16 237 views
0

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

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

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

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

这是一个明智的选择吗?如果这不是最好的选择,请你能提出任何其他选择吗?

感谢 kankalam

回答

0

除非Git的服务器正在维护中如此频繁,我也不会用这个选项去,这似乎是矫枉过正。另外Nexus服务器可能会关闭,所以这样做没有任何优势。

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

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

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

  • 成立了专门的Git服务器为您的应用程序(查看Gogs作为一个轻量级的选项)。
  • 转到“原生”方式并从文件系统加载文件。这样你就没有配置文件的版本控制,但你可以在你的项目中单独执行。