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中的接口来更新本地的项目缓存配置文件信息,从而实现项目自动更新配置文件的功能。