我一直在玩 Spring Cloud Configuration。我喜欢该解决方案的简单性以及它使用 git 作为默认配置存储的事实。
在将其作为集中配置管理的解决方案推出之前,我需要弄清楚两个方面。这些方面是:
高可用性
如何逐步推出配置更改(以支持金丝雀版本)
如果你已经在你的数据中心实现了这个或者只是在玩这个,请分享你的想法!我还想听听创建者的意见,他们如何看待单/跨数据中心环境中的推荐部署。
问问题
1404 次
1 回答
5
Config Server 本身是无状态的,因此您可以根据需要启动任意数量的服务器并通过 eureka 找到它们。在服务器本身之下,您指向的 git 实现也需要具有高可用性。因此,如果您指向 github(私有或公共),那么 git 与 github 一样可用。如果配置服务器无法访问 git,即使它已过时,它也会继续提供已检查的内容。
至于渐进式配置更改,您可以使用不同的分支并将金丝雀配置为使用该分支spring.cloud.config.label
,然后合并该分支。您还可以使用配置文件(例如application-<profilename>.properties
)并将金丝雀配置为使用指定的配置文件。
我认为分支更有意义,因为您不必每次都重新配置非金丝雀节点以使用新配置文件,只需配置金丝雀以使用分支。
无论哪种方式,应用程序看到配置更改的唯一时间(使用 spring 云配置客户端时)是在启动时或当您POST
在/refresh
每个节点上时。如果您使用 Spring Cloud Bus 一次刷新服务的所有实例,您也可以POST
这样做。/bus/refresh?destination=<servicename>
于 2014-12-01T18:14:56.273 回答