00:00
好,同学们,那接下来我们呢,继续来看一眼。这个时候我们进入第二步,按照大纲将它从非持久化改为什么持久啊,很简单,大家看。这个时候欧了。老规矩。跟刚才做测试一样。来同学们运行。好,同学们,30303条消息没问题吧,注意本次是持久化操作。好的,那接下来我又干坏事是不是?哎,把active MQ给stop好,那么这边依旧要等他。重新启动,我们呢,就稍微等他一会儿,我先暂停一下录屏。好,那刚才我们让它淡机了,现在呢。回复。后能进来我想问的同学们,注意我们还没有看消费者消费呢,对吧?这三条消息是以持久化的方式由生产者发送到MQ。但是。
01:05
事情不妙,MQ宕机过一次,现在没有消费呢?我的问题是,大家猜一下,你们觉得这三条消息在队列里面还在不在?还会依旧是3030吗?思考一下。好,同学们留言。3000。哎。干嘛?消息入队的这一块,由于淡季S,它这个记录被清掉了,但是number of pending messages,就是待消费或者未消费的消息,怎么着,依旧还有三条在这儿,不像上一波是0000,还记不记得,所以说它的持久化,从消息可靠性的这一个角度而言,持久化有利于消息的可靠性,只要你们有消费掉,我还是在这儿,但前提你要以持久化的方式啊。好,同学们,这个时候来吧,刚才我们验验证过,如果用这样的方式。
02:03
他来获得我们的消息是没有的。那么现在大家老眼。出没出来正常OK,那么所以说现在我们可以得到结论,那么非持久的服务器宕机消息就不存在了,那么切记这排数字是不是全部变成0000了,重启了以后,那么对于说持久化而言的话,服务器宕机以后,只要你还没有消费掉消息,重启以后消息依旧存在,那么接下来杨哥的问题第三个来了,那么请问。对于消息的持久性这个特性,那以前杨哥你好像没写过这一行代码呀,在HELLO2级别的程序说对了,故意没写,我的问题是第三个问题干嘛?我没写,默认的持久化。大家猜猜该是什么?那么请大家思考十秒钟。
03:01
好两种声音哈,有同学们说这个持久的,有同学说非持久的,好的老规矩,咱们不直接让大家背结论直接是吗?代码说话来,兄弟们,现在杨哥是不是把这一行给不是注掉,是直接删掉了,对不对?那么言下之意,我们现在要用一个问题,就是默认。它是持久还是非持久?好,那么前两种我相信,我就不再重复啰嗦了,那现在同学们搂一眼。发送好消息发送成功,那么这3030注意啊,主要是看这个听懂了吧,未消费的消息,现在入队有三条进来了,那么好。老规矩,我们呢,直接先将我们的active MQ停掉,那么来,同学们现在可是没写持久和非持久哈,我们就看它默认。那么。
04:02
大家呢,猜一下。我现在是3030,由于我停掉了,我一点那肯定而言就像是什么服务器MQ是不是断了,无法访问正常,那么接下来我给我们MQ重新启动起回来好。那么这一画要稍微等他一会儿好。来,同学们。重新恢复了,那么现在不废话,那么同学们猜猜我现在这个数字应该是多少?或者直接就这么说,你们觉得能不能消费得到刚才这三条消息,我什么都没写哈,那么来吧,同学们。你们觉得呢?是持久还是非持久?如果是非持久,那么就是什么空,如果是持久,三条消息应该出来,老爷。什么情况啊,三条消息都有,所以说我们可以知道0103,请看这边三条消息,这边出去消费了,三条消息跟这儿是不是对上了,所以说我们就会得到通过这个演示得到我们的持久化的结论。
05:06
来队列的默认是什么?就是持久化的,此模式只保证这些消息只被传送一次和成功使用一次,这个很重要啊。Send发送一次,使用一次,对于这些消息,可靠性是优先考虑的因素,可靠性的另一个重要方面缺乏消息持久化,到达目标以后。干嘛不会丢失这些消息?那么刚才我们呢,给大家演示了队列的什么?非持久、持久和默认再次强调持久化消息,这是队列的默认传送形式,在对于队列而言,你就是什么都不写,它都是持久化的。好。那么这个结论要求大家能够熟悉并记录。
我来说两句