美文网首页
Spring Cloud 动态刷新配置

Spring Cloud 动态刷新配置

作者: xushiling | 来源:发表于2018-08-15 17:21 被阅读0次

当config客户端启动时,会从server端获取一次配置,而后我们更新server端托管的配置之后客户端并不能获取到最新的配置,所以需要我们进行一定的处理

主动刷新

  • 重启,重启客户端,客户端启动时会再次重新加载配置
    ps:此方法并不可取,生产环境往往不能随便重启
  • 调用客户端的refresh方法
    1、客户端pom.xml添加依赖
        <dependency>
            <groupId>org.springframework.boot</groupId>
            <artifactId>spring-boot-starter-actuator</artifactId>
        </dependency>

2、关闭client内部端口的身份认证

management.security.enabled=false

3、向当前客户端(http://xxx/refresh)发起post请求

此种方案适用性有限,当服务为集群部署或复杂架构下就不太适用了,下面介绍一种更优的方案

Bus消息总线推送刷新

这里消息中间件使用的是kafkarabbitmq集成方法与之类似,这里就不再一一描述

1、安装kafkazookeeperkafka依赖于zookeeperkafka新版本的内置了zookeeper,这里使用的是kafka2.11-1.1.1版本,最后一个支持java7的版本
2、config服务及customer增加依赖

        <dependency>
            <groupId>org.springframework.cloud</groupId>
            <artifactId>spring-cloud-starter-bus-kafka</artifactId>
        </dependency>
        <!--当前版本spring cloud默认引用的无法启动,需要重新引用-->
        <dependency>
            <groupId>org.springframework.kafka</groupId>
            <artifactId>spring-kafka</artifactId>
            <version>1.0.3.RELEASE</version>
        </dependency>

3、增加相关配置

management.security.enabled=false
spring.cloud.stream.kafka.binder.brokers=localhost:9092
spring.cloud.stream.kafka.binder.zk-nodes=localhost:2181

4、向当前config服务端(http://xxx/bus/refresh)发起post请求

相关文章

网友评论

      本文标题:Spring Cloud 动态刷新配置

      本文链接:https://www.haomeiwen.com/subject/ohqwbftx.html