Spring cloud 数据中心Spring云配置推荐架构

Spring cloud 数据中心Spring云配置推荐架构,spring-cloud,Spring Cloud,我一直在玩Spring云配置。我喜欢这个解决方案的简单性以及它使用git作为默认配置存储的事实 在将其作为集中式配置管理的解决方案推出之前,我需要了解两个方面。 这些方面包括: 高可用性 如何逐步推出配置更改(以支持金丝雀版本) 如果您已经在数据中心实现了这一点,或者只是在玩它,请分享您的想法! 我还想听听创建者如何看待在单/跨数据中心环境中推荐的部署 配置服务器本身是无状态的,因此您可以根据需要启动任意数量的配置服务器,并通过eureka找到它们。在服务器本身之下,您所指的git实现也需要具有

我一直在玩Spring云配置。我喜欢这个解决方案的简单性以及它使用git作为默认配置存储的事实

在将其作为集中式配置管理的解决方案推出之前,我需要了解两个方面。 这些方面包括:

高可用性

如何逐步推出配置更改(以支持金丝雀版本)

如果您已经在数据中心实现了这一点,或者只是在玩它,请分享您的想法! 我还想听听创建者如何看待在单/跨数据中心环境中推荐的部署


配置服务器本身是无状态的,因此您可以根据需要启动任意数量的配置服务器,并通过eureka找到它们。在服务器本身之下,您所指的git实现也需要具有高可用性。因此,如果您指向github(私有或公共),那么git和github一样可用。如果配置服务器无法访问git,它将继续提供它已签出的内容,即使它已过时

至于渐进式的配置更改,您可以使用不同的分支,并通过
spring.cloud.config.label
将金丝雀配置为使用该分支,然后它们合并该分支。您还可以使用配置文件(例如
应用程序-.properties
)并将金丝雀配置为使用指定的配置文件

我认为分支更有意义,因为您不必每次都重新配置非canary节点来使用新的概要文件,只需配置canary来使用分支即可


无论哪种方式,应用程序查看配置更改的唯一时间(使用spring cloud config client时)是在启动时或在每个节点上
POST
/refresh
时。如果您使用Spring Cloud总线一次刷新服务的所有实例,您还可以
发布到
/bus/refresh?destination=

配置服务器本身是无状态的,因此您可以根据需要旋转任意多个实例,并通过eureka找到它们。在服务器本身之下,您所指的git实现也需要具有高可用性。因此,如果您指向github(私有或公共),那么git和github一样可用。如果配置服务器无法访问git,它将继续提供它已签出的内容,即使它已过时

至于渐进式的配置更改,您可以使用不同的分支,并通过
spring.cloud.config.label
将金丝雀配置为使用该分支,然后它们合并该分支。您还可以使用配置文件(例如
应用程序-.properties
)并将金丝雀配置为使用指定的配置文件

我认为分支更有意义,因为您不必每次都重新配置非canary节点来使用新的概要文件,只需配置canary来使用分支即可


无论哪种方式,应用程序查看配置更改的唯一时间(使用spring cloud config client时)是在启动时或在每个节点上
POST
/refresh
时。如果您使用Spring云总线一次刷新服务的所有实例,您还可以
POST
/bus/refresh?destination=

非git存储库、基于本机配置文件的系统有哪些选项?您可以使用文件系统,或者最近的hashicorp vault或通过jdbc的数据库非git存储库、基于本机配置文件的系统有哪些选项?您可以使用文件系统,或者最近的hashicorp vault或通过jdbc的数据库