00:00
好,嗯,接下来我们就从这个第一章开始卡卡的个概述,嗯,之前稍微提了一下,卡不卡一个东西,它是一个消息队列,对吧?消息队列,那消息队列呢,不仅仅有卡,所以我们先来聊一聊消息队列啊,先来消息消息队列OK,来看一下。每次这个PPT都打开的都特别慢。好,它是这样的,那消息队列是干什么用的,首先呢,客户端A啊跟客户端B要进行一个发送数据,就A要给B发送数据啊,正常的是不是。你直接怼过去啊,就是他们俩直接交互吧,啊,就是说我这边发送,你这边接收,我这边接收,那你必须要,如果说直接的话,是不是要同步啊,那同步是什么意思呢?就是说。A发送的时候B画了。能行吗?发送不了数据吧,哎,发送不了数据,第二个就是我们学浮的时候讲的一个点这个东西,那你发送是十兆每秒,我接收只能按五兆每秒接收,那怎么办?
01:04
那是不是你这边又又有问题啊,要不然就是可是丢数据对吧,那你想想看,这块如果能正常工作的话,是不是会丢数据啊。要么不丢数据,你这边有可能就崩了吧,对吧,也就是说你中间要有一个缓存,还有个缓存,那from是不是也是干这个事的,对吧?卡夫卡其实也是这样,它这个消息队列,它中间也做了一个缓存,就是说我A产生数据啊,我不直接给B,我给谁呢?给消息队列。给消息队列,那B呢,你这个时候假如说A传输数据的时候,B不在线,可以就是B挂了可以,然后你B起来之后,你自己干什么,去消息队列里面去获取数据啊,去获取数据是这样的这样的OK,也就是说哎,发送消息呢,就。不是A直接发送给B了,发送给消息队列了,然后呢,B来接收消息,B来接收消息,那B接收消息这块要注意它有两种模式。两种模式,第一个是点对点模式。
02:00
啊,就是说消费者就是B啊,主动主动的去干什么,去获取出去,去拉啊去拉取出去,这是一种方式,那还有一种方式,大家想一想是什么。消息类主动推送吧,第二种方式就类似于大家玩的那个公众号一样,你是不是可以订阅,就每个不同的人可以订阅同一个公众号,那公众号那个人在后台操作一下,发送一条数据,是不是你所有人都能接收到呀,对吧,所有人都能接收到,那就是第二种方式,就发布订阅的模式,发布订阅的模式,那你想想看,呃,本来我想的是缓缓冲一下,对吧。说你这边速度要平均一下,那你这边主动推送的话。主动推送的话,那我是五兆每秒的速度,这边是三兆每秒的速度,这边是十兆每秒的速度。那你推送的速度,你能感知到客户端这边的速度来选择。就是说你推送的时候,能根据这个客户端不同,你选择不同的速度推送啊。不能吧,你这边推送的速度,假如说就是两兆每秒,是不是这样的呀,对吧,你只能是一个统一的速度,那这边就显得。
03:09
浪费资源嘛,或者说我这边推送的速度是什么样的呢?八兆每秒。那又有两个有问题了吧,对吧,你是可以满足的,但是又有两个有问题的,就是说它这个速度啊是统一的统一的,那你像这种方式呢。速度由谁控制,客户端来控制吧,哎,拉取的一个速度由客户端来控制的啊,客户端来控制的,那整个的消息队列呢,这两种模式都有啊,消息队列这两种模式,两种模式都有一个。主动的发布订阅的模式,一个是点对点模式,就是消费者主动去拉,主动去拉,那刚才其实我们对比了。你看啊,呃,刚才说的,其实如果说这边控制的速度两兆每秒。是不是相对来说他有优势啊,主动拉对吧,哎,他自己不能速度,那他有没有缺点呢。
04:01
来说一下它的缺点在哪啊,它的缺点在这你看啊,那你这里边有没有数据。我怎么知道?我是不是要实时有一个线程去监控着这点。对吧,哎,我时时都要有一个监控,对应监控这边,那这种呢,他需要监控吗。不需要吧,我这里面有数据了,那队列知不知道,队列肯定知道,那队列主动给你的吧,啊就是说那客户端就不用去实时的监控呢,那它有一个线程呢,一直监控着这边有没有数据来,那才能获取吧,是这个样的,所以说这两种方式呢,都有各自的一个优缺点,这样理解啊,要知道的啊,面试当中可能会问到的,可能会问到的,OK,那这是我们比较的消息队列,它不同的模式之间的优缺点,对吧?那接下来我们要聊的是什么呢?无论是这个点对点模式,还是发布订阅模式。既然是效应链,它都有优点吧,它共同的优点是什么呢?来看一下。
05:02
啊,就是说为什么需要这个消息队列啊,那消息队列有优点,那首先大家能想到的优点是什么。之前提到的,你不用同步吧,还有一个缓冲数据吧,对吧,啊就是做这些事的来看一下。九。结果什么意思啊?就你A跟B不用直接直连了吧,哎,通过一个中间键来连了,中间键来连了,这是第一个。冗余,冗余什么意思呢?让这个消一个列,它在这儿可以备份。备份数据啊,就是说它本身它消息队列的也是可以存数据的,缓存数据用的嘛,对吧?啊,它也可以做备份的,然后扩展。扩展指的是这个消息队列啊,就拿卡夫卡说,卡夫卡它是有集群的概念了啊,那扩展就讲到它这个集群啊,集群啊是扩展性啊,再往下看。灵活峰值处理能力,那这块一个东西,其实讲的就是它的一个什么。
06:05
扩展新带来的一个优势,那峰值处理能力。干什么你扩展,你把机器扩展多了,你峰值处理能力是不是提升了呀,对吧?哎,所以说这几个相关性呢,哎都是有一定的,OK,然后还有可恢复性。那你数据是冗余的对吧,有备份的,你丢了一个我是不是可恢复啊,是这样的,OK,顺序保证。是这个意思,就是说你往这个这是这是什么队列,队列先进先出吧,先进先出是这样的,所以说呢,它有一个数据的一个顺序保证啊,顺序保证,因为它这个队列除了队列还有一个叫什么。战战是先进后出的吧,哎,先进后出的是这样的,OK,然后还有一个缓冲。对吧,哎,这边冗余了,那这边做缓冲用的,就是说均衡两边的一个速度吧,哎,相对来说均衡两边的一个速度做缓冲用的,这是这要注意到这个是整个什么消息队列的一个好处吧,就是说无论是你点对点模式还是发布订阅模式都有这些好处吧。
07:10
这要注意的,然后我们还讲了一个什么。就他们俩之间。进行一个对比吧,对吧,他们俩分别都有优缺点,但是这个东西是它们俩共同的一个优点啊,共同的优点啊,这个东西你要知道的啊,你要知道的,而且我们当前说的是消息队列啊,注意消息队列有这两个模式。对吧,是消息队列有点对点和。发布订阅模式。啊,不是卡夫卡这块,我们还没讲到卡夫卡吧,对吧,要注意的这个问题好。还有一个一步通信啊,一步通信就是我们之前所提到的,那你A的发送,发送数据的时候,这个B挂掉也无所谓吧,挂掉了也无所谓的,是这样的整个的啊,这是消息队列。相机之列啊,有两个模式,然后它的一个好处啊,这块的一个东西,大家稍微要记一记的啊,稍微要记一记的OK。
我来说两句