00:00
呃,消息的存储啊,我们终于说完了啊,内容还是比较。播的有深度的,那么下边我们来看消息。消费。那消息啊,从这broke这里边说了两种啊,一个是什么获取方式。从broke里边获取消息的方式有两种,一个是po拉取方式,一个是push啊,我们推动方式。然后消费者你把消息拉过来以后啊,我要进行消费了,消费者组对于消息消费的模式又分两种。啊,一个是集群消费,这我们前面给大家说过,一个是广播消费是吧,这是我们这个消息消费里边啊涉及到的。那么首先我们来看消息它的啊,这个这个拉取啊消费,呃,这个这个类型啊,一个是。呃,推拉消费是吧,推拉消费啊,其实就是获取消息的获取啊,呃,类型。
01:02
那么一个是拉取。啊,一个是推送不许就是吧,那么consumer主动从里边啊拉取消息,主动权由控制啊,一旦获取到了批量的消息,就会启动我们的消费过程,不过这种方式的什么实时性比较弱。七博客里边有了新消息时,消费者并不能及时发现并消费。啊,它的湿性比较比较差一些啊,然后我们推送方式呢。啊,这个模式下啊,收到数据以后啊,就是他有了消息以后呢,会主动推送给customer。啊,这种消该消费模式一般。啊,它的实际性比较高啊,实际性比较或者说获取模式啊。对。获取。方式是吧,啊实业性是比较高的。
02:02
那么这种。这这都是写的消费类型是吧,我们我们获取方式啊啊这种获取方式是典型的什么发布电影模型,其实前面啊。关于这个东西啊,在这儿我觉得。不用给大家很多说啊,为什么我们在前面在讲。诶,就是讲的时候如何发现。在这是不是给大家专门扩展了啊,Push模型啊,然后铺模型,然后还有一个什么更好一些的叫long。啊,铺列模型就我们的长轮循模型是吧,前面我们在说过啊,在这儿就不不再不再多说了。是吧,它它是一个发布定律模型。那发布定位模型,也就是他这个添加了监听器啊,给相应的Q啊,添加了监听器,注册了监听器,一旦发现有新的消息到来,就会触发回调的执行,而回调方法是什么?Customer去Q里边拉取消息。
03:13
但是这些啊,所有的这些东西都是什么。那都基于什么?基于consumer和broke之间创建的,它之间的连接的啊。常连接是需要维护的,需要心条进行维护的,所以我们说长连接的维护,它是需要什么消耗系统资源。任何东西都是各有利弊的。那在这简单的做了一个对比是吧,To是什么啊,需要应用去实现,呃,对关联的Q的便利啊,实际性比较差一些。然后呢?它的好处是什么?便于应用控制消息的拉取,就是我想拉的时候我就可以拉,不想拉的时候可以不拉。是吧,然后push呢,封装了对关联Q的便利啊,实质性比较强。
04:01
你注意啊,这是我们这在在在我编程的时候,这我们写代码的时候需要注意的就这个铺啊。不拉取模型,我们需要什么,自己写,自己去实现。对Q的便利。而这个呢?Push是封装好了,这个便利了。我们写起来这个push模型,写起来代码可能会更简单一些啊,实现比较强啊,但会占用什么较多的系统资源。啊,这做了一个简单的对比,其实说到这儿啊,这个拉取的时候,呃,需要给大家说,因为这个东西是我们自己写的啊。这个拉取这个时间间隔。这个时间间隔实际上是我们用户自己指定的。所以你在指定的时候,你就需要注意一个平衡的问题。你设置这个间隔。如果太短了。那这这种情况,我EEE我一直去完了,看你有没有,他第一占用系统资源,第二用空请求啊比例会增加。
05:10
然后你如果说把这个间隔设置太长。消息。他的。获取到消息,这个实时性就比较差,所以需要我们注意什么平衡啊这个。啊,由于。由于拉取。呃,时间间隔是由用户。是指定的,所以在设置在。间隔时。需要注意。平衡。平衡的。啊。间隔。太短。呃,空。请求比例。增加是吧,那那当然你也消耗了,就做了无用功了,消耗了系统资源了是吧,然后。
06:03
间隔。太长。嗯。消息的这个实时性。是吧,这你要注意这个平衡问题啊,注意平衡问题。呃,其他吧,就没有啥了啊。好。这是我们。这个。拉取消息的类型,其实我们说获取吧。推拉是吧。啊,获取获取消息的类型。
我来说两句