【问题标题】:Can i have more than one Spring Cloud Config Server?我可以拥有多个 Spring Cloud Config Server 吗?
【发布时间】:2015-06-18 16:40:39
【问题描述】:

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

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

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

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

【问题讨论】:

    标签: spring spring-boot config spring-cloud spring-cloud-config


    【解决方案1】:

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

    【讨论】:

      【解决方案2】:

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

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

      【讨论】:

        【解决方案3】:

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

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

        最好的问候。

        【讨论】:

          猜你喜欢
          • 2018-02-09
          • 2019-03-02
          • 2015-08-28
          • 1970-01-01
          • 2018-03-21
          • 2016-06-04
          • 2020-04-22
          • 2020-11-13
          • 2018-11-05
          相关资源
          最近更新 更多