zoukankan      html  css  js  c++  java
  • 配置中心的自动刷新

        配置中心的服务端跟客户端我们已经搭建好了,但有个问题:如果git中的内容修改了,客户端能及时获取数据吗?
        测试一下会发现不能,必须重启客户端才能刷新数据,这明显不是我们想要的。spring cloud的配置中心对这部分的实现是使用amqp协议,需要安装rabbitmq。具体操作如下:
    --------------------------------------------------------------------------------------------------------------------------------
    1、服务端跟客户端均添加依赖:
    <dependency>
        <groupId>org.springframework.boot</groupId>
        <artifactId>spring-boot-starter-actuator</artifactId>
    </dependency>
    <dependency>
        <groupId>org.springframework.cloud</groupId>
        <artifactId>spring-cloud-starter-bus-amqp</artifactId>
    </dependency>
    
    2、服务端去掉安全校验或者开启http basic 认证,前者简单,我们采用前者。client端添加rabbitmq相关配置:
    management:
      security:
        enabled: false
    
        client端mq相关配置
    rabbitmq:
      host: localhost
      port: 5672
      username: guest
      password: guest
    
    3、分别启动服务端跟客户端,测试。
       启动服务端跟客户端后,修改码云的代码,将demo1/client-a-master.yml中的msg改为:client1 配置文件测试用例----修改过啦,访问http://localhost:9999/testConfig
        发现内容并没有及时更新,,,,这是因为服务端没有刷新的缘故。
      用post方式访问一下:http://localhost:8080/refresh或者http://localhost:8080/bus/refresh,两者区别是集群环境下刷新单机跟刷新全局,会看到服务端跟客户端均打印了日志,
        再次访问,可以看到内容已经刷新了
       虽然现在我们已经能拿到修改过的数据了,但每次都要手动刷新一下也还是有些麻烦的,万一忘了呢?这个就要用webhooks来解决了。
     打开码云的webhooks页面,添加刚才config-server的post刷新地址即可:
      
     当然这里要把config-server所在的服务器地址映射出去,能让码云访问到才行。如果是在个人电脑进行测试的话,装一个花生壳之类的配置一下就可以。这样每次改动配置后就会自动刷新。
    --------------------------------------------------------------------------------------------------------------------------------
    待解决疑问:
    1、config-server怎么从git获取数据,怎么管理数据,客户端怎么获取怎么保存?
     
    2、自动刷新部分,rabbitmq为什么只有client端配置了,server端是怎么发给client端的?
     
     

  • 相关阅读:
    Ubuntu 16.04 LTS安装好之后需要做的15件事
    双目立体视觉
    Win7、Ubuntu双系统正确卸载Ubuntu系统
    推荐一个计算机视觉图书:python计算机视觉编程
    深度学习从被监督走向互动
    详细解读神经网络十大误解,再也不会弄错它的工作原理
    不为人知的springboot的技巧
    并发情况下引发的血案
    slor6.6 在linux下的安装以及启动失败解决办法
    springmvc源码阅读2--dispatcherServlet及谈如何找源码入口
  • 原文地址:https://www.cnblogs.com/nevermorewang/p/9291602.html
Copyright © 2011-2022 走看看