9

我知道我可以使用超过 1 个存储库将我的配置分布到多个存储库(可能针对每个应用程序)但是,我可以为这些存储库运行超过 1 个配置服务器,这样我们就可以避免单点故障配置服务器'

如果我们可以运行多个配置服务器,我如何将我的客户端从访问任何一个特定的配置服务器中抽象出来?

更新(进一步阅读后):如果我使用一个负载平衡多个 IP 的 URL,而不是在 URI 中使用 IP ,它会解决我在 Config Server 上的单点故障问题吗?

spring.cloud.config.uri:http ://myconfigserver.com

4

3 回答 3

5

Spring Cloud Server 可以向 eureka 注册自己。看看这个-> http://cloud.spring.io/spring-cloud-config/spring-cloud-config.html#eureka-first-bootstrap

于 2015-04-13T11:43:39.307 回答
4

我刚刚在 Cloud Foundry 中使用 Spring Cloud Bus 测试了 Spring Cloud Config Server。当扩展到多个实例时,服务器/monitor端点的触发器也会导致所有其他实例也被更新。此外,当关闭一些实例时,客户端仍然能够从其他实例获取信息。长话短说,它按预期工作。

要回答您的另一个问题:是的,您需要某种方式来解决“众多”服务器的问题。这可以使用 DNS 来完成,但您可能还想为此使用 Eureka 或其他一些服务发现机制。在 Cloud Foundry 中,您可以获得一个开箱即用的简单解决方案,即在使用时自动连接到正在运行的实例的 DNS 条目。

于 2016-08-17T09:27:18.457 回答
0

我有一个类似的场景,我有几个 Spring Config 服务器实例。这些实例通过 VIP 在 Eureka 服务器实例上注册。我在 Eureka 服务器实例上也注册了几个网关服务器 (Zuul) 实例。但是,我没有使用总线来通知网关服务器实例配置更改,而是在 RefreshRemoteApplicationEvent 事件上添加了一个自定义侦听器,以通知从 eureka 获取的网关服务器实例。但我没有看到我的 Spring Config Server 实例之间的同步。

我很想知道代码中的哪个侦听器对/monitor端点调用做出反应以通知其他 Spring Config 服务器实例。在端点后面/monitor,有 org.springframework.cloud.config.monitor.PropertyPathEndpoint 类,但我看不到哪个侦听器执行 Spring Config 服务器实例同步。

此致。

于 2018-12-06T13:13:14.483 回答