00:01
好,那接下来呢,我们就把我们的V服务启动起来,来看一下我们在can微服务中能不能通过can a listener来监听数据的变更,对这些数据的变更啊,进行相应的订阅啊和消费来进行处理。我们的监听啊,再看一下它的逻辑啊,有一个监听所有数据啊,这是insert listener part,监听所有数据的添加、修改、删除,这是所有数据,还有一个监听方法呢,它是只监听商品品类category,那只监听分类,就是只有分类的数据,它有这个好,接下来我们启动一下。我这里已经启动起来了A的,呃,把这些相应的商品微服务都启动起来,我们主要关注这个微服务,好,那我们随便找一个数据的变更啊,随便。呃,品牌的数据,比如说我们做一个删除。我们看这里呢,它就监听到了删除的数据,我们做一个添加。
01:07
啊,下面我们看它监听到了添加的数据,就添加删除,那当然修改也监听它这个和就是它可以有一个get before call list和get after callist。啊,这里面可以监听修改前修改后的数据,具具体的API我就不再给大家解释了啊,大家看一看啊,还还是比较简单的啊,看看这个名字就知道了是吧。啊,看它怎么定义的,这是笔画,就是这是你看我们是得到删除前的数据,然后进行一些相应的打印啊还可以,比如修改的时候,我们修改后啊,Get after corner list我们改一个。你这是修改后修改的监听,那当然还有一个监听是指监听什么呢?它只监听那个。
02:01
分类的数据,来,我们来写一个分类的添加。啊,这里面啊,这是一个数字,好,这时我们看。只监听分类。当然。它的监听有两个方法啊,这个监听所有和只监听分类啊,就是可以做相应的处理了。好,那这是可耐微服务的基本应用,那下面呢,它的一个案例应用,那下面呢,我们就来实现我们的业务,我们要啊通过可耐V服务来监听商品品类的变更。当商品品类发生变化的时候,我们用可耐微辅来监听这个日志,得到可耐cell里面的这个商品品类的变化,然后呢,我们把这个数据同步到red管子里面去。来看一下这个图啊,就是在can微服务中,我们来监听商品微服务的变化,当商品微服务有变化的时候,我们同步到red里面去。
03:08
好,那这个同步商品品类的这个业务啊,简单看一下怎么实现,首先我们要通过open份。来调用微服务。宝贝来调用那个商品品类微服务啊,Category,那所以说我们要创建一个在商品微服务里面来创建一个send调用的接口啊,叫category a。那以后我们的其他的微服务之间相互调用的时候,都是按照这种规范啊,我们定义好,比如说商品品类我们查询啊,就是在clean微服务来调用商品品类微服务的时候,那我们先在商品品类微服务里面创建好这样的一个变量的接口啊,那client,我们的thing client open thing client,那在我们的具体的里面继承这个就可以了,然后呢,把相应的熔断写出来,基本上全是按照这种规范来写。
04:07
啊,接下来呢,我们在监听器里面。啊,在监听器里面只监听这个category这个变化,当category发生变化的时候,我们通过open。来得到所有的商品品类的数据,就新的商品品类数据重新存回到red里面去,那这个逻辑实验起来就很简单了,就是一个open的调用,还有就是监听数据的变更,然后来消费啊,这些变更的增加的这些数据,或者是修改的数据,其实就是把原来的覆盖了。啊好的,那首先第一步我们要创建一个开的API,所以这个地方啊,因为商品品类,我们现在在肯微服务里面要调用这个商品品类微服务,那可能其他微服务也要调用,所以说这里啊,我们的规范就是open调用的规范,就是要把这个open费啊所调用的category API的这个接口放到商品微服务里面去,是这样。
05:11
咱们在讲spring cloud的时候也说过这个基本的规范啊,我们需要在这写一个接口。啊。A片。这有一个category API。我们看一下这样一个接口。我们要监听商品品类的变更,当商品品类发生变更的时候,其实我们要查一下所有的商品啊,所有的商品品类,把它存回到RA里面去,那也就是这个是应该是杠A。
06:04
应该是cat是吧?咱们看一眼这个了呀,开就给controller。啊,这个就是我们。要影射的。微服接口。好,同时在开这controller里面,我们要影射哪个方法呢?我们要调用这个查询所有的方法,这个怎么用啊,我们要映射这个方法。当然这里啊。我们需要对这个泛型啊,改成cat。这个也一样,改一下。这6V2了,再黑也没用。
07:04
这个method既然是盖号可以不写啊,这样写就可以了,好,那这个是我们open thing啊需要调用的这个接口的定义,那我们在写open分client的时候,咱们之前在讲cloud相关课程的时候啊,那我们啊只需要继承这个cat API就可以了,那这里它在影射了,我们继承它就不用再影射了,呃,只需要把我们需要写的这个。Fallback把这个定义出来,垄断方法。啊,服务降级的这和熔断方法定义出来就可以了,好,那接下来呢,我们在我们的啊这个connect耐为服务里面创建open client,这个open client啊继承它啊。借用他。我们需要注意一个问题啊,以后我们open调用的时候都是这样的一种规范,我们在具体的微服务里面定义好接口,然后呢,在我们的想要调用这个微服务的这个,嗯,Connect耐微服务里面,然后我们创建这client,然后继承这个接口啊,这样的话,我们以后比如说其他的搜索微服务还要调用商品品类服务,那只需要实现这个接口就可以了,那当然我们要把这个呃,FA的这个。
08:23
For back啊,它的熔断降级的方法定义出来,这样的话呢,它可以有效的进行熔断降级啊把这个写出来。那这个呢,就是在具体的调用的微服务里,微服务里来写,我们创建一个client。好,在这里我们创建一个category。
09:01
这是一个接口,然后他只需要继承这个接口就可以了,继承cat。API啊,这个接口就可以了,好,那我们要用注解来声明,它是一个open fit就是。Names,我们都要用a service嘛,嗯。它肯定是按照命名固定的啊,Item其实就是这个。就是他six。这个好,接下来呢,我们要写一个for back啊,这个for呢,可以写一个内部类。要不显得直接拷过来吧。
10:06
写一个内对大家需要注意的问题是这个for啊,这个request要要设置一个跟那个。具体的category的这个request不一样的那个啊,那categy不是叫aem categy吗?那这个随便,只要不叫category item就可以了,否则的话这个可能会重复。好,接下来呢,我们来设置一下open,在调用的时候,对forba forba就是cat。Client这个内部类点cat back。好,接下来呢,我们在。
11:04
这里面啊。我们在a listener里面来监听。啊,只有商品品类的变更,那这些都去掉,这些我们全注释掉吧。当商品品类发生变更的时候。只要这个方法。指指监听category的变化,当category有数据发改变的时候,我们从RA里面啊,从数据库里得到数据,得到数据呢,我们当然要open来调用,是吧,得到所有的category。然后我们输入啊,对不对,然后得到这个数据之后呢,往ready存。
12:08
Street street。好得到这个数据list cat,然后例等于cat。可点please。把一个空对项,这样的话,我们查询就是有变更,我们查询所有的商品品类,然后呢,把它存到red里面去,Object map,然后我来转换一下,转换成string啊,把把这个对象转换成string Jason string啊,Jason字块,然后来进行存储object map另一个。Never。
13:05
然后接下来我们用使劲点。开给list就重新存一下啊。Object map red value a street。啊,对。好,我们把异常抛出去。好,那下面呢,我们启动起这个工程来演示一下啊。好,下面呢,我们来测试一下,我们把启动起来。应该已经在启动,我们看一下客户端的数据啊。那这时当我们改变数据库里的数据就是品类。如果发生变更。
14:01
啊,随便写一个值啊,那这时他就会监听到这个变更,它存这个categ给Y例子的,我们应该是存这个CR啊,因为这里是之前用CR就用cat对吧,这样的话大家也看的比较清楚,我们看刷新一下,看它回能不能回来啊这数据啊刷新好OK,那这其实呢,我们看最新的数据,它已经存到我们的red里了,好,那这个就是使用可微服务。来监听我们的商品品类的数据的变更啊,对于这些变更啊,进行消费和有效的处理,来同步啊缓存中的数据。
我来说两句