00:00
好,同学们,我们继续,接下来我们就要来。解决一下这个重复消费的问题,好,那再强调一次,我们现在呢,出的问题啊,故障现象是重复消费,那么导致。原因是什么?导致原因是因为我们默认分组group。是不同的,那么它的这个。组流水号。不一样。那么。被认为。不同组。可以消费。换句话说。默认的流水号是不是就是这些些,好,那么下面我们先自定义配置啊。那么我们先自定义配置分组,然后再自定义。
01:03
配置分成。同一个组。解决重复消费问题,好,那么同学们,那么下面啊,这是这个流水号是系统rabbit MQ自动分给我们的,那么接下来我们来看看。来。首先。原理有这么一句话,微服务应放置于同一个格瑞普当中,就能够保证消息只会被其中一个应用消费一次啊。不同的组可以重复消费,同一个组会发生竞争关系,只有其中一个可以消费好。那么下面我们分两步给大家演示啊,第一个自定义分组,也就是说不要用这么长的流水号了,用我们自己的。那么我们准备怎么干呢?八八零二八八零三都变成什么组,不同的组。
02:00
GROUP2个不同,不好意思啊,不同的组怎么着会有重复消费,我们第一步我们先演示怎么来分组,然后再说分成同一个组,好。那么下面。来group,我们叫at硅谷A组,At硅谷B组,那么88028803,它的修改很简单,说穿了第一步就是把这个流水号。变了,变成它的硅谷A的硅谷B,先完成我们的自定义分组,怎么分,然后再分同一个组,分两步来给大家加深这个印象和演示,那么下面很简单,就干一件事。别的都没动。班这个下面写个group,就这么at硅谷A就行,好,同学们,这个是我们的。8802。好,那么注意啊,一定要对齐,这块坑爹。好,那么。同学们,这个写我们的硅谷B。
03:01
8803好,那么我等它重启一下,停止一下录屏,那么同学们启动完成回到我们这儿,我们自己的配置啊,我们就要来先看一眼啊,那么下面先到MQ再来演示啊,我们讲过我们配了以后,我们现在是不是分成A组和B组了,相当于你不配它的默认分组是这样的流水号,那么现在我们先完成第一步自定义配置,大家请看是不是现在这个屁股后面不再是这样长长的流水号,而是我们分成了A组和B组了,这么说听懂了吗?那么根据我们的讲解。不同的组是可以消费的,听懂了吧,那么现在就是说在MQ上面,A组和B组它是两个不同的组,所以说我们这儿。我现在8001发两条消息,点两下一二,大家请看8001现在是不是有两条,那么请看8802是不是两条,8803是不是两条?能理解了吧?能理解刚才为什么我们会存在重复消费的问题,因为你不配组,它默认分的group都是不同的组,就跟我们现在分成。
04:11
Group at硅谷A和at硅谷B一样,所以说我们的结论还是有重复消费的问题,那么这大家请看。我们在交换机下面,现在我们的粉丝啊有两个,一个是艾特硅谷A,一个是at特硅谷B,那么这个时候是不同的组,不同的组都会被消费,那么这样就会导致重复消费的问题,好,我启动了两个消费微服务,88028803,多数情况生产者发送消息给某一个具体微服务的时候,只希望被消费几次啊,一次啊,按照上面我们启动的两个应用的例子啊,他们应该属于同一个应用,但是是不同的组,A组和B组,所以说又被消费了两次啊,我们在这儿请看我。发送两条消息这儿。
05:00
两条,这两条明白,所以说呢,请同学们一定要解决这个问题,我们要提供消费组织概念,好,那么接下来怎么重重复消费,不让它重复消费呢?那么我们要实现。轮巡分组每次只有一个消费者,8801模块发送的消息只能被8802或者8803其中一个接收到,避免重复消费,那么下面要把它们变成什么组啊,相同组。GROUP2个怎么着,从不同到相同,那么很简单,分为同一个组,At硅谷A,那么所以说同学们假设8802叫A组,那么8803我也叫A组就完了。能理解了吗?现在我们都是一个组里面的,那么就可以避免重复消费,那么等它重新启动,同学们重启完成,我们继续,那么现在说一下8802。
06:00
A。8803A,那么现在是不是他们两个变成了相同组,GROUP2个是相同的,那么来看看我们现在假设还是发两条消息啊,兄弟们。一二。发送方,大家请看8801是不是两条,一个是538,一个是23D,大家请看8802只有一条,8803只有一条,清楚了吗?这样就避免了我们的重复消论,重复消费,也即同一个组的多个微服务实例,每次只会有几个一个拿到。那么再来看看我们的rabbit MQ上面兄弟们还是他,诶,不对啊,杨哥你不是改了吗?怎么还有A组和B组呢?抱歉,我们现在是不是A。里面是有8802和8803,何以见得,请看我们的消费者是不是两个,他们都是在A组了,那么这个时候发到A组了,以后每次产生竞争关系只允许同一组下面的一个实例拿的好,这样就避免了重复消费,那么同学们不妨再看看他,这是以前的历史记录,听懂了吧?那么B组请看粉丝是几个零,为什么啊,因为我们现在的这个。
07:16
880。二是A组880,三是A组跟他没关系了,所以说这次过来了以后,就是一次请求分发的作用,每次只会被一个消费,那么这个时候再看看。我们之前消费上的生产实际案例,再把这个看看,那么现在体会一下,我们现在8802 8803是同一个微服下面的集群,但是我们都叫at硅谷A组,每次过来一个MQ的发送的message,我只会被组内的一个人消费,就避免了重复消费的问题解决清楚。
我来说两句