Spring Cloud与微服务之WebHooks

版权声明:本文为博主原创文章,未经博主允许不得转载。 https://blog.csdn.net/ZZY1078689276/article/details/84975790

WebHooks的使用场景

  在我们成功搭建了配置文件中心微服务商品微服务后,这就涉及到使用商品微服务调用配置文件中心微服务中相应配置文件的情况。

  至于不太清楚配置文件中心微服务商品微服务的,我们可以看下面的链接:

  正常情况下,我们通过商品微服务访问配置文件中心微服务中相应的配置文件本身是没有问题的,但是一旦配置文件中心微服务中的信息出现变更时,由于商品微服务中本身的缓存信息并没有被刷新,因而其本地使用的配置文件信息仍然是变更之前的信息,此时就导致了商品微服务因不能及时获取配置文件中心微服务中更新的配置文件信息而导致请求出错的情况。而WebHooks就是在这样的场景下诞生的。

  WebHooks属于Git中的一项功能,当Git检测到代码有变更时,便会自动调用WebHooks功能,以此来完成代码提交后的后续操作。而在这里,其完成的功能是通知商品微服务去从配置文件中心微服务中更新本地的缓存配置文件信息。

手动更新配置文件信息

  由于Git在检测到其中的代码出现变更时会通过WebHooks调用商品微服务中的更新配置文件缓存接口,因而我们要在商品微服务中添加更新本地配置文件缓存的接口。

  换言之,要想实现WebHooks的自动更新功能,那么我们得首先实现手动更新的功能。

  手动更新本地缓存的配置文件信息需要在springcloud-goods-item加入下面的依赖类:

<dependency>
    <groupId>org.springframework.boot</groupId>
    <artifactId>spring-boot-starter-actuator</artifactId>
</dependency>

  这样我们通过访问下面的路径就可以实现手动更新本地缓存的功能

http://127.0.0.1:8081/refresh

  其访问的结果如下:

在这里插入图片描述

WebHooks自动更新配置文件

  这里的WebHooks功能我直接使用的就是码云上提供的功能,其添加的方式如下:

在这里插入图片描述

  注意,一般连接着外网的电脑都有两个IP地址,其一是内网IP,其二是外网IP,这里我们一定要填写自己的外网IP地址!

  配置好WebHooks的界面如下所示:

在这里插入图片描述

  这样我们的Git源码有变更时,其会通过调用WebHooks中的接口来更新本地的项目缓存配置文件信息,从而实现项目自动更新配置文件的功能。

猜你喜欢

转载自blog.csdn.net/ZZY1078689276/article/details/84975790
今日推荐