Spring 配置服务器:在存储库不可用的情况下回退配置

Spring Configuration Server: Fallback configuration in case repository is not available

我们使用 spring 带有 svn 后端的云配置服务器 (SCCS)。 我目前正在调查 fallback/emergency 后端(暂时)不可用的情况。

如果是 svn 后端,SCCS 正在将配置文件下载到本地目录。

我们的想法是配置 SCCS,它首先查找 svn 后端,当它不可用时,复制的文件作为源。

有没有人知道配置应该是什么样子,或者对如何面对这种情况有完全不同的想法?

提前致谢!

所以基本上你希望云配置服务器有多个存储库。您可以使用配置文件来做到这一点,但是从一个存储库切换到另一个存储库不会自动进行(至少从我的头脑来看是这样)。

  • 具有两个存储库的 Spring 云配置服务器 bootstrap.yml:

spring: profiles.active: remote-svn application: name: config-server cloud: config: server: svn: uri: https://yourserver.com/config-repo force-pull: true //--- spring: profiles: local-svn application: name: config-server cloud: config: server: svn: uri: ${user.home}/config-repo

通常你会像这样启动你的服务器:

mvn spring-boot:run

但是如果您的远程 svn 服务器已关闭,您将终止服务器并重新启动它,例如:

mvn spring-boot:run -Dspring.profiles.active=local-svn

问题是您必须保持这两个存储库同步。因此,当您将配置推送到 SVN 存储库时,您需要配置两个远程。一个引用您的 SVN 服务器,另一个引用 Spring Cloud Config Server 存储库。

你可以有一个 bash 脚本,其逻辑检查你的 SVN 服务器的健康状况,当它发现服务器已关闭时,它会使用本地重新启动 Spring 云配置服务器-svn 配置文件。