00:00
那接下来呢,我们来学习spring cloud bus服务总线,首先啊来看一个问题,我们在前面呢,已经完成了将我们的微服务中的配置文件其中存储在我们远程的get仓库中啊,我们的马云上边,并且呢通过配置中心微服务从我们get仓库拉取配置文件,那么当用户微服务启动时呢,会连接我们配置中心获取配置信息,从而启动用户微服务。如果我们更新gate仓库中的配置文件,那用户微服务是否能可以及时接收到新的配置信息呢?并更新呢?在这一块我们来看一下,首先呢,打开我们的get库这然后呢,我们修改我们的这个。Em ML配置文件在这一块呢,点击编辑。
01:00
然后我们进到这块,我们增加一个啊叫test。然后呢,这边加一个我们的name。我们叫一个野马哥。好,然后我们进行提交。然后呢,回到我们的。User service当中的controller user controller在这儿呢,我们加一个,加一个我们的。一个name。然后呢,我们用value。Va l UE。我们给他。放进来,然后呢,是我们的test.name。然后呢,我们在控制台给他打印,我们叫。
02:02
配置中心。配置为。我们的test.name我们name。这个呢,等于我们的name好没问题,接下来的话呢,我们重新启动我们的user service,我们来看一下,就通过我们改变我们远程仓库配置中心这一块的这个配置,我们的控制台能不能得到最新的这个配置的信息。然后我们来加一个。
03:03
最前面好,我们test。这块呢,我们叫name。我们呢,叫野马哥。好没问题,然后呢,我们这块来进行提交。好,提交,提交完成以后呢,我们来修改我们的user service当中的controller。我们在这块。然后找到我们controller。在这一块呢,我们添加一个。我们的private。俊类型的一个。叫内蒙。然后呢,我们用value求解给它注入进来。
04:02
到了。然后test点内。然后呢,我们在控制台给他打印一下这块。好,启动以后呢,我们上浏览器来访问我们的90019001这个,然后我们再次访问。好看,控制控制台。然后在我们的控制台这块呢,我们可以得到我们的内幕,等于野马哥,接下来呢,我们上我们的浏览器啊,我们的远程远程仓库在这块呢,我们再进行编辑。然后呢,给这个内幕我们修改成嘿嘿嘿,然后再进行提交。
05:04
提交完成以后呢,我们再来访问我们的这个。我们刷新。刷新刷新刷新三回,然后呢来看。我们刷新了三回以后,发现得到的全部都是还是我们原来的野马哥,并没有得到我们的,嘿嘿嘿,然后呢,接下来我们再来重启一下我们的user service这个服务。好,我们启动完成以后再来浏览器,再进行刷新F5。好的,再来看控制台。这个时候呢,我们得到了我们内幕等于黑,嘿,黑就是我们在这一块啊,通过观察我们的这个微服务的控制台输出的结果,我们能够发现啊,我们对于这个get仓库中啊配置文件的这个修改,它并没有说是及时的更新到我们的用户微服务,每次只有当我们重启我们的这个user service服务以后,它才能够生效,那如果我们不想重启我们的微服务这个service而去更新我们的配置,应该怎么去实现呢?接下来我们来说一下啊,使用我们spring cloud bus来实现我们配置的自动更新。
06:37
那么在这一块的话呢,啊,有一个需要注意的地方,就是我们的spring cloud bus,它底层呢是基于我们rabbit MQ啊消息队列实现的,默认呢是使用我们本地的消息队列服务,所以呢,需要我们提前的启动本地的rabbit MQ服务,这这样的话呢,就需要我们来安装我们的rabbit MQ,大家来看一下。在这块呢,我们已经准备好了我们的rabbit MQ,但是啊,在装我们的消息队列之前,我们先需要装我们这个OTP啊这个东西,因为我们的rabbit MQ呢是基于我们的E浪费语言。
07:13
所以我们首先得需要装我们的这个OTP,然后呢,再去装我们的rabbit MQ。那我这一块呢,我的来看一下rabbit MQ正在运行好把它关掉,然后呢,我们回到我们的讲义这块,来看一下我们的spring cloud这个简介说我们的spring cloud bus是用轻量的消息代理将分布式的节点连接起来的,可以用于广播配置文件的更改或者服务的监控管理,也就是消息总线可以。为我们的微服务做监控,也可以实现应用程序之间的相互通信,那three cloud bus可选的消息代理有rabbit MQ和卡夫卡,我们这块呢,我们选择rabbit MQ,那使用了three cloud bus这个以后呢,架构现在是这样的,说我们的配置文件呢,还是放在我们的远程,呃,远程的这个仓库啊K当中,通过我们的配置中心呢,我们的各个服务从配置中心这一块,从远程啊拿到我们的配置,那我们的配置文件在这一块,配置文件在远程仓库当中改变之后呢,我们如何马上能够不用重启我们的服务器,更新到我们这些服务的这些节点呢?我们是这样做的。
08:29
首先。我们需要向我们的配置中心为服务发送一个一个rest的一个请求,就我们这个啊杠我们的bus-resh,我们发送这个请求给我们的配置中心啊,给我们的配置中心微服务之后呢,这个时候呢,就会给我们的rabbit MQ啊消息队列发送消息,那我们的rabbit MQ通过我们的配置改变消息以后呢,我们这些微服务就会从这个rabbit MQ啊当中,我们消息队列当中啊监听到这个消息,当这些服务监听监听到这个消息改变以后呢,它就会刷新我们的本地配置的这个缓存。
09:07
然后呢,从我们的这个配置中心重新的获取配置,来得到我们的最新的配置,这样的话呢,就可以实现我们的微服务啊,不用重启获得配置文件的信息。
我来说两句