【问题标题】:Spring Configuration Server: Fallback configuration in case repository is not availableSpring Configuration Server:如果存储库不可用,则备用配置
【发布时间】:2023-03-12 18:05:02
【问题描述】:
我们使用带有 svn 后端的 spring 云配置服务器 (SCCS)。
我目前正在调查后端(暂时)不可用时的后备/紧急情况。
如果是 svn 后端,SCCS 正在将配置文件下载到本地目录。
我们的想法是配置 SCCS,它首先查找 svn 后端,当它不可用时,将复制的文件作为源。
有谁知道配置必须是什么样子,或者对如何面对这种情况有完全不同的想法?
提前谢谢你!
【问题讨论】:
标签:
spring
svn
server
fallback
spring-cloud-config
【解决方案1】:
所以基本上你希望 Cloud Config Server 有多个存储库。您可以使用配置文件来做到这一点,但从一个存储库切换到另一个存储库不会是自动的(至少从我的脑海中)。
- 具有两个存储库的 Spring Cloud Config Server 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 服务器的健康状况,当它发现服务器关闭时,它会使用 local-svn 配置文件重新启动 Spring Cloud Config Server。