如何在Spring cloud confi中配置客户端和服务器以使客户端自动刷新

时间:2015-12-22 12:58:23

标签: spring spring-boot spring-cloud

我使用spring cloud配置文档为客户端和服务器创建了演示。我正在使用git属性文件进行外部配置。如果我在外部配置文件中进行了任何更改并刷新客户端,那么它的工作正常。但我不想每次都刷新。我想让我的客户端以自动刷新的方式。

我通过spring文档,我认为我们可以通过以下方式完成。

  1. 在Redis的帮助下
  2. Spring cloud bus
  3. 哪一个是正确的方法呢?

    目前我正在使用https://github.com/spring-cloud-samples/configserver/尝试第一个,但它确实无效。

    那么请问我们如何配置客户端和服务器以便我们不需要刷新客户端?

    我应该搬春天云巴士吗?

1 个答案:

答案 0 :(得分:6)

没有“正确”的方式。要监视配置服务器中的更改,您需要spring-cloud-config-monitor(或可以在独立应用程序中使用)。它使用Spring Cloud Bus来广播变更事件,但您必须选择一个传输(因此Redis是一个有效的选择)。

您还需要侦听客户端上的更改,因此如果您在服务器上使用其他传输,请添加spring-cloud-starter-bus-redis(或amqpkafka等。< / p>

您链接到的示例当前已连接到监视更改并通过Redis上的Spring Cloud Bus传播它们(依赖项spring-cloud-config-monitorspring-cloud-starter-stream-redis启用此选项):

    <dependency>
        <groupId>org.springframework.cloud</groupId>
        <artifactId>spring-cloud-config-monitor</artifactId>
    </dependency>
    <dependency>
        <groupId>org.springframework.cloud</groupId>
        <artifactId>spring-cloud-starter-stream-redis</artifactId>
    </dependency>

要从github接收通知,您需要在github存储库中注册您的应用程序URL。该示例没有URL,因此未注册。如果您将其更改为使用基于文件的存储库(例如本地git repo),那么它将监视文件并且不需要钩子。