00:00
好,同学们,接下来我们呢,完成了上一讲。消息头题属性,那我们呢,先把。代码呢,恢复一下哈,这个言下之意呢,这个map message呢。嗯,杨哥呢,就不用了哈,为了讲课方便,我还是呢先用这个,因为这个类型都一样,待会我们还要用它做一些更加。复杂的案例,所以说我现在先把它调对好,那么不妨呢,我现在先。执行一下看看。DEMO是否OK?好,大家看消息发布到那么消费一下。好MESSAGE123,那么这个时候大家看,那么这个时候0133,嗯,带消费的没了,出去了,总共进来三条,OK,那么现在呢。好了,又回退到一个健康的状态,那么我们继续接下来一个重点,今天的消息的可靠性。
01:01
好,那在面试题的时候经常会有这种问题,就是说。你们公司的系统如何保证你消息的可靠性,那么基本上呢,是要从四个角度来回答,那么第一点。19、第二个事物,第三个签收。好,那。说道说道吧。同学们。还记不记得我当时的时候入门的时候讲过,这个参数是叫事物,这个参数是不是叫签收啊,我们是不是还没讲啊,那么再来。前几讲的时候,杨哥说过一句话,我说现在的话呢,我们分了三种情况,都是正常的那。假设哈,弟兄们,我们现在MQ。宕机了,或者直接说挂了。那么。消息。
02:00
丢失消息的这个。持久化。也就是说它和丢失情况。分别如何?好,那接下来同学们我们一个一个的过,带着问题上路。第一个先看持久化。好,那么参数说明来很简单。咱们在这个生产的时候,也就是说推送给。我们的消息中间键。Message生产者消息生产者,那么他这次生产的消息是持久还是非持久,那这块的话呢,顺便同学们我们也复习一下我们的。Ready的时候,杨哥是不是也讲过,它有两种持久化方式,一个叫RDB,一个叫什么a of,那这两种方法呢,同学们呢,一定是。RDB和a of。了解过。那么。
03:01
一样,消息也会有持久化,那么它呢?是些什么东东呢?请看。持久非持久,好,那么来,同学们先来看看。他们的设置情况,那么对于持久化就这么两个参数的设置,非持久持久。好,那么给同学们十秒钟简单的看一下。来,同学们,谁是不是消息的生产者?什么叫非持久化?就是当服务器宕机了以后,消息就不存在了,好,那么怎么设置呢?比如说我们现在消息生产者set deliver mode。那么deliver mode第。来,同学们,我们先来一组非持久化的,那么也就是说现在这个生产者对于消息的生产它没有持久化,那么什么情况呢?来先看正常使用。同学们,三条消息。三零三零百分之百进来了吧,好,那我们消费一下。
04:03
取一下这三条消息,能不能取到同学们message,你看test message这一步同学们没有任何问题吧?123好说,那么现在挺和谐的,挺自然的,那么来了,下面请看杨哥干坏事。来,兄弟们现在干干净净的没有了,我们现在是非持久化消息哈。我发售。OK,那么现在三条消息进来,下面我的问题是。我们直接把在当前目录下面。我们把activemq。怎么样,Stop是不是宕机了,那么现在请同学们考虑一下,我宕机了以后,现在是3030,那么我现在。宕机了,那自然而然,如果我现在去消费肯定访问不了,对吧,MQ都断了,我的问题是我现在又把MQ重新启动以后。
05:04
大家思考一下。我们这三条消息还在不在,我们的consumer消费端还能不能消费?注意此时此刻我们的生产侧这边的情况是这批次的消息我们是非持久的,好,下面请同学们思考一下。OK,那么接下来同学们请看我们把active MQ start好吧,来同学们,那么可能稍微有一点时间,它要才能够连接成功,刚刚启动哈,需要一点点时间,注意刚才正常情况未消费的消息进来三条,消费者没有三零,三零是正常情况,常规操作好,那么接下来同学们我们先点一下home,看看现在能不能好,可以正常访问了,那么现在哈,看一眼我们非持优化消息淡季了以后重启一下,我们来看看此时的状态能不能消费得到。
06:01
大家看一下。漏还有没有,根本就没有打出来,那么大家猜一下,我现在点这个队列,它的数字正常情况下是3030,那么现在。我们猜一下数字是多少。好。老爷,什么情况,0000,那么兄弟们,那刚才那三条消息是不是就彻底的丢掉了呀?所以说这个时候我们来看一眼什么呢?我们的持久队列。如果说对于队列这种方式,那么干嘛,大家看现在我们是不是队列,那么对于非持久化服务器宕机消息怎么样,不存在当场演示的,那么大家请看,我们恢复了以后全是0000了,OK,好,那么这个就是我们的非持久化演示。
我来说两句