00:00
一的一议,它是一套通用的一个协议啊,然后并且在这个上,在这个实现这个协议的基础之上呢,支持了一些多种的工作模式,消息等啊,其实下面这是的一个整体的一个吧,其实从整体的角色还是跟之前介绍一样,最左边呢,其实是消息的生产方啊,生产者那也叫做发布者,然后最右边的是消息的一个消费,实这两个角没变,然后间呢是就是整个消息对一个消一。
01:01
啊集群,然后在这边的话,它其实有几个概念,第一个的话就是连接,第二个的话就是管道啊,然后第三个就是虚拟主机,第四个就是换来看在面他所有的生产者跟发布者,其实也就是呃,跟生产者和消费者,其实跟整个集群打交道呢,他是通过。啊,建立建立长链接,然后建立这个长链接的过程中呢,所有的生产消息和发布消息啊,它是采用连接的一个复用,所以尽可能只是在进行生产消息或者消费消息的时候呢,首先要从这个这个连接呢,其实就是TCP的连接,然后这个呢,其实就是在这个复用多个,它是复用同一个连接,所以在这个地方啊,首先要去发布消息的话,就是首先要从这个连接里面获取一个channel,然后再去啊管道再去啊交互,然后在中间的话面这个一,然后呢,多个环境之间,不同的环境之间是相互隔离的,然后在每一个主机内部的话,就是我们可以看到它里面有两部分组成,第一部分的话就是交换机,然后这个交换机主要负责的功能呢,就是去啊,将我们的消息呢,通过不同的路路由键,然后再分配到不同的队列,那第二个就是这实际的一个。
02:31
队列啊,然后下一节呢,我们会来重点介绍对他的几种工作模式,就是这就是整个。交换机。呃,交换机跟队列之间呢,他们是通过啊绑定的方式来进行做一个关联的,然后这边呢,有一个绑定的啊,绑定的一个绑K啊,然后另外一个的话就是我们发送消息的时候呢啊,那最就是在每个消息上面会绑定一个路由K,然后在最简单的就是直连交换机的话,它其实在内部就会啊将我们的消息啊拿到这个消息之后,将我们的路由K跟这个绑定K呢做一个匹配,然后匹配完之后的话,再分发给对应的一个消息队列啊这就是整个rabbit MQ就是它整体的一个架构吧,然后在呃,MQ之后。
03:20
这个实在以前用的其实还蛮多,现在的话用了同时在存面,所以的是一个化,大概是这样的一些能力,然后MQ呢,它也有它的高可用的一些架是呢,这两种也一个呢是。它的架构呢比较麻烦,第二个的话,它的架构其实对于学习和啊,就是技术的那个啊,研究的话就通的些,这一部分的话们来作模式啊,整个MQ里面的一工作式的话为六种,第一种的话就是模式啊,这个呢,也就是跑起来一的M来看一下,那就是一个生产者生消息,然后队列,然后一个消费来消费,是最简单的一种模式。
04:26
啊第二种模式呢,就是它的工作队列模式,那这个工作队列呢,就是啊生产者生产消息之后呢,那会有多个消费者去消费这边的消息啊,它是多个消费者去同时消费一个队列的消息啊这样的一个模式,那第三种呢,其实对应的就是一个呃发布地域模式,他也要做他的那个交换机叫做find out,就是删出的这种啊这个呢,其实就是一个消费者将啊一个生产者将生产的消息呢交给一个交换机,然后这个交换机呢,会将啊这条消息呢分发给啊所有的队列,然后呢,啊每个队列由对应的消费者去消费啊这就是其实就是一个广播啊,同时呢,他也就是发布地推的一种模式啊,那这个地方就是他做的消息呢,就是就是将全量的消息啊,不同的队列去分发出去啊,那其实接下来呢,是后面的两种呢,其实都是基于啊前面这三种上面啊,做的一些更加高阶的能力吧。
05:26
其实这儿可以看到,我如果说生产者生产的所有消息呢,对于广播的这种模式,它其实会分发给,将全量的消息分发给所有的客户端啊,所有的生产者啊,那这个地方呢,就是如果,如果其实这是一个更加啊,更加怎么说呢?更加特殊,就是更加普遍的一种能力吧,就是更加高阶的能力,可能是这个地方啊,我一个生产者生产的消息呢,可能。下游不同的消息,不同的队列里面呢,我只需要部分的一个子集,而不是需要全部,全部其实是一种特殊情况嘛,啊,更多的就是一个子集,那其实就已出来了啊,后面的路由模式跟主题模式呢,都是去实现这样一个功能。
06:09
它主要解决的就是将啊我们的一个上游的全部的生产的消息呢啊,选择性的将部分消息分发给下游的消息啊,分发给下游的那个消息队列啊,就我们的队列啊,那这边的话,其实路由模式的话,它就是支持前面提到的那个啊邦K,就是通过这种固定的一个固定的一些绑定的一些啊K,然后来做匹配啊这边呢,它就它的交换就是类型,然后生的消息有一个路由,然后再跟这边的一个啊邦你K做一个匹配啊,如果说他们相啊最简单的就是相等嘛,相等之后呢,就分发给对一的队列啊,就是这样一个视线啊,那路音那主题模式下面呢,其实它就支持通过通配服的方式去做这样一种这种消息的一个分发啊,这一部分能力呢,其实是更加的灵活,因为它支持啊,通过通配符星号和井号这种来做。
07:06
啊路由的一个路由的一个匹配的话,其实是能力是其实是覆盖了前面这种啊路由模式,所以这其实就是它整体的录由模式和主题模式的一个区别,然后第六种的话就是啊另外一个就是模拟RPC模式了,这个其实简单了解就好啊,它整体的一个过程就是啊客户端在往客户端的本质上就是模拟RPC的话,就是客户端往服务器端发请求,服务器处理完之后将响应给客户端,那在这个过程中采用M拟的话啊,大概的过程是这样子,就是客户端首先它作为一个生产的一个啊消息的一个生产方,请求封装在生消息里面,同时呢,他也绑定一个回调的一个队列,同时呢,这个消息呢,它也会设置一个唯一的一个消息ID,然后接下来呢,服务端这边的话,他其实就去消费这个队列啊,消费这个IP队列消费完之后呢,大家处理的结果呢,跟那个前面设置的这个请求对应的VID呢,再填充到。
08:06
前面请求关联的那个回调队列里面啊,那另外一方呢,消客户端呢,又在这边去啊,监听这个回调队列,再来处理具体的一个结果,这其实就是啊,整个一个模拟RPC的一个过程,其实所有的文档呢在后面,其实这边下面有一些链接啊,其实上面都可这的现在主流现在业里面其介。
我来说两句