00:01
好,同学们,那我们现在呢,已经完成了持久事五,那么接下来看一下AC knowledge,俗称AK签收。那老师别废话。啥东东?说穿了是不是就是我们刚才前面讲过的,现在true和false大家都已经明白了,那是控制事物,那么这有一个东东叫什么?第二个参数签收那。老师能不能用一句话讲明白?你收快递的时候有两种,第一种假设你现在在上硅谷教室上着课。你订的盒饭,你订的快递来了,默认会放在三楼的前台,这个就叫自动签收,那么第二种你要求真人现场。开箱检查了以后。自己签,亲自确认签字啊,见到快递员了以后当场签收,那么那个就叫手动签收。
01:04
好,那么所以说我们在这跟这个类似啊,我们来说说现在的第二个参数签收,好,那么来同学们漏眼。上一讲我们说过事物偏什么生产者,签收偏什么消费者哈,那么有这么一句话,那么大家来看看现在非事物签收,那么言下之意就是我现在杨哥先把这些东东呢全部。返回到我们的原始的force的状态啊,就说现在呢,单独来看签收,那么现在把生产和消费者全部干嘛干翻,那么来现在呢,他这个签收模式呢,注意一般而言呢,有三种,那么这三种呢,是。自动签收默认情况下,也就是我们一直在写的凹凸A,那么第二种叫手动签收,第三种是什么?带副本的允许重复的签收,那啥意思呢?来同学们,第一个out签收没问题吧,第二个叫什么client手动签收,那么第三个叫什么dumps,可以允许部分重复的签收,那么再来看第四个叫session translated的什么意思呢?那么上一讲杨哥呢和大家讲过哈,首先从语法上,这个参数,这个函数必须要传两个参,那言下之意,如果你是生产者,假设这是处以事物了,那么这边的话你可以选成这个,因为我们都明白,如果第一个参数是处。
02:33
代表以事物为主了,那么对于生产者这个签不签收作用这个参数呢?语法上需要,但是它作用已经不大,那么这个呢,是什么事物集那么好,那么痛快点。杨哥,这四个参数哪几个用的多听好,自动和手动用的比较多,这两个用的比较少,我们着重先讲解这两个好,先来说自动。我们大家来看session out那么手动签收,那么怎么个手动签收,我要是不手动签收又会出现什么方法呢?客户端调用什么东东?A cck方法需要你手动签收,好那么来同学们,那么接下来哈,我们来看一下哈,假设我们签收是谁呀?
03:18
你收快递是不是消费者收啊,那么假设哈,我这出out拓那么OK,不废话,那这儿呢。或者就直接这个,还是改成force吧,就是生产者不动,那么好,同学们,我们将其呢?直接。删掉好,干干净净的什么都没有是吧,那么对于这个队列而言,那么来同学们请看啊,这个现在呢,自动签收,因为我们讲过了啊,这个呢,主要是偏事物生产者哈,我们现在的图简单生产者,因为签收主要是看消费者哈,那么过来了。来同学们30303条对吧,那么来同学们,换以前你们懂的,我们first自动签收,这没有卡密的事,那么干嘛呢?默认什么意思啊,收到了没错吧?好,四秒钟以后灯灭,那么大家看,四秒钟以后灯灭欧了,我再跑一次消费者,大家都清楚这个消息不能重复被消费,好,这是健康以前我们学的hello word的程序,那么接下来我们的问题是这我也不改成。
04:23
错,我们呢,在这儿大家请看我从client自动签收改成从out自动签收改成手动签收,那么这个时候我们会有些什么样的变化和区别呢?来,同学们请看老师演示啊,这个时候在队列这好同学们开工干嘛呢?首先生产者发三条,因为我们现在是什么非事物的签收先给大家演示啊,对吧?好,那么现在就是force。First,跟事物没关系,读看签收方式,好,同学们请看,那么现在呢,我们的消息发布。3030好吗?那么换以前我们用自动签收,现在是变手动签收,好就从auto改成client,那么这个时候同学们请看我点。
05:10
消没消费到O了,那么现在四秒钟以后灯灭好,关键的问题就是我们现在第二次消费。会不会重复消费,那么顺便来看看,这应该是三零,三零还是说穿了,这已经变零,这应该变三,那么同学们,我们再来一次啊,我现在跑。大家请看什么情况啊,是不是又重复消费了?再来一次。大家看又重复消费了,那么这个时候LOOK3130什么意思啊,现在。三条未消费的消息入队,三条有一个消费者,当然四秒钟我们都知道的,四秒钟以后灯灭了以后,你们懂的。是不是消费者也就撤了,那么大家请看,主要是看。对于队列而言,主要是看头和尾,那么三条待消费,零条未消费。
06:06
OK,没有出对吧,那么什么意思啊,我们在这儿,如果你开始了是吧。开启了这个手动签收,需要对每一条消息来做反馈,好比就是说现在快递员给你送到东西了,你说不行,不能摆在我们家门口,不能摆在三楼前台,必须见到我真人,我验货了以后我签字才算数。那么这个时候。来,我们需要消费者客户端调用AC方法进行手动签收,好,那么这个时候同学们请看我们的test message点努力,那么言下之意就是这条消息如果打出来了,我就代表我确认收到,好,以前呢是自动签收,现在是手动签收,那么好,我们要求开启就有定点,像自动挡的车,我们现在把它换成手动挡,好吧,你更加注重这个操控的乐趣,你更加注意这个消息的可靠性,好。那么接下来我们。
07:04
回退。回到我们的干净的程序produce,生产者负自动无所谓,那么这边生产者干嘛弄过来的以后关键是签收嘛,收是谁收,收到了时候才叫消费,那么所以说主要是偏消费者好,那么现在我们是手动档来,但是我们有一个ACK函数,这个时候同学们我跑,大家请看,消费四秒钟以后灯灭没问题吧,那么大家请看,这个时候出来了吧,那么。欧了老0033,你看三条进来,三条是不是出去,那么言下之线我现在再运行一次啊,消费者大家看,由于我开启了手动签收,并且也符合手动签收,那么同学们请看第二次消费是不是就没有了,那么这个时候是不是也是从客户端消费者这侧避免了消息的重复消费呀?好,那么接下来我们来看看了第二种,那么默认是自动哈,Out,然后呢手动,那么手动的话要显示的调用消息的这个ACK这个方法,那么第三个叫dumps,这个呢用的很少,这个叫带副本的允许重复消费的消息,那它什么意思呢?就说如果你干成这个啊。
08:18
他呢,有点类似于比方说你这份快递有留了两个人的手机号,那个到店了,假设哈,你现在住的某个小区到店了以后。家里面没人,那么他就把这个快递呢,放在了你们家附近的一个小超市里面,让你下班了以后去超市自己去取,然后这个时候假设干嘛,你女朋友先去取了,但是呢,他自己在那查看,她并没有签收的,那么这个时候干嘛就像下来你呢。也不知道你女朋友已经去收过了,她没有轻伤。而且这个时候呢,假设他签收的过程,他女生嘛,挑的东西比较长,可能他检查了五分钟,但是随后你也过来准备来签收了,那么这个时候干嘛,你所看到的状态可能跟他的是吗,是不一样的,那么允许你消息重复的时候,允许部分重复的时候,那么这个东东干嘛?
09:12
允许你重复签收,但是基本上这个简单了解一下,实际工作中干嘛自动和手动用的比较多,那么好,我们这个呢,就不再过多的深入展开,那么带副本的允许你重复的签收哈,那么你这块。在这看着呢,你还没签收,另外一个线程过来,他也能看到,那不像这个要么自动签收完活,要么手动签收完活,而他这个呢,可能的是看了半天,我确实收着了,但是我没签收,你眼睛过来,你又在这看,那么这个时候就导致什么呢?你也认为是没签收,那么这个时候状态稍微有点不对,好那么他主要是允许重复的消息,可以多发嘛,好那么这个就是我们的什么在非事物基础下的一个什么签收的演示。
我来说两句