00:00
接下来呢,我们就来根据我们这张图来在rabbit MQ里边创建出我们所有要用的交换机队列,以及绑定好它们之间的关系,并来测试一下我们各个关系之间都是怎么进行工作的。好,那先来创建出我们三个不同的交换机,一个是direct类型,一个是fun out类型,一个是topic类型。当然这个交换机我们测到哪个可以创哪个,但我们要测的队列呢,比如我们来创建上四个,一个叫an特硅谷,一个叫an特硅谷news,一个叫an特硅谷emps,一个叫鼓励学院news,好,那么接下来先来创建上四个队列,第一个队列叫an特硅谷,我们创建好了,接来第二个队列,我们呢就叫and特硅谷news,好,我把它复制过来,第二个队列的名字叫and硅谷news,它是一个持久化的,不是临时的,也是不自动删除的,我们一直存在的,好来创建队列,包括创建队列的时候呢,还可以指给他们指定一些参数,这个参数呢,我们现在先不指定,来创建出一个队列,好,现在呢,有一二两个队列,我们继续来创建,那再来创建一个队列叫and硅谷emps,好,来创建一个队列,队列没有什么类型,我们可以直接好我们来点击创建,然后呢,我们再来创建一个队列,将鼓励学院news复制好我们在这儿再来创建一个队列,好我们。
01:25
来点击创建,那现在呢,给我们rabbitm MQ里边创建了我们四个队列,分别叫at,硅谷and硅谷emps and硅谷news鼓励学院news,然后呢,我们接下来测试我们使用不同交换机看消息能到达哪些队列,接下来我们测试使用第一个们创建一个直接类型的交换机,好,我们先把原来的这个交换机我们可以来删除掉,想要删除点进这个交换机里边,在下边呢,有一个delete删除交换机,删队列也一样,点进去点一个删除,好我们自己来创建队列,这一块呢,都是它默认的,我们可以留在这儿。好,我们先来创建第一个交换机,我们要创建成直接类型的交换机,那交换机的名字我们就叫exchange direct,好,就叫exchange,点一个direct,我们一见这个名字,我们就知道我们现在是什么交换机了,好,我们来添加一个交换机,我们看到这块交换机我们就创建出来了,它的类型是一个。
02:25
艾相当于直接交换机,那就是我们图示的这种直接类型的交换机,然后呢,我们交换机可以绑定一些队列,我们呢,将这个交换机跟四个队列都来绑定好,我点进来想要绑定呢,在这儿我们来声明绑定关系,第一个我们交换机呢,要绑上队列,来绑第一个队列,我们来看一下都有哪些队列,现在由at特硅谷at特硅谷emps好,我们来绑第一个队列,就叫an特硅谷,那路由件用什么,那假设队列名是什么,路由键就指定上什么,这样也简单,好我们来点一个绑定好,那这个交换机呢,先绑定了第一个队列,叫and特硅谷,路由键呢叫and特硅谷,接下来我们再来绑第二个队列,我们就叫enter特硅谷emps好,那接下来我们绑第二个归列,队列们就叫enter特硅谷点一个,然后呢,路由键我们也叫enter硅谷点EMS路由键呢,我们可以允许单词,单词以点分割,好,我们现在来点一个绑定。
03:25
然后接下来我们再来绑定其他两个队列,绑定and硅谷news和鼓励学院news,好,我们现在来绑定上and硅谷,点一个news好路由键我们也叫at硅谷news,好,这是我们绑了第三个队列,绑定第四个队列,我们就叫an硅谷,我们现在不叫at硅谷了,叫鼓励学院,鼓励学院news,我们来看一下我们这个确实叫鼓励学院news好,来绑定这个队列,如由下呢,也用这个,我来点绑定,现在呢,我们将这四个队列都绑定好,那接下来我们发一个消息,我们来看哪些队列能收到,先来看这个队列,默认呢,队列里边所有的消息,消息在这儿,消息呢都没有,没有任何消息,Total总量也是零,也没有准备好的消息,也没有这些未回复的各种消息。
04:14
当然这个状态是什么意思,我们后来呢再来解释,现在这一块呢,数量都是零,先来看一下,那我们想要发消息怎么发?我们说消息应该先发给我们的交换机,所以我们来点击我们的交换机,我们刚才创了这个交换机是direct直接类型的,好,我们点进来,那想要发消息在下边有一个publish message,发消息呢,我们只需要指定我们用的路由件,因为这个交换机跟我们这四个队列进行绑定路由件不一样,所以们发消息如果指定用哪个路由件,它就会根据路由件不一样来进行派发。比如我们现在指定了一个路由件叫at硅谷news啊,来复制我们这个消息的内容,就叫and照硅谷news啊,那消息内容如果我点一个发送,应该是哪个队列收到呢?因为我们现在是直接类型交换机,所以路由键是要进行完全匹配的,那们当时绑定用的键是什么?我们接下来发消息用的这个路由件,它叫硅谷news完全匹配,那就相当于来到我们这个队列。
05:14
好,我们来发布看一下,来点一个publish,好消息呢,已经发出去了,们来看我们队列这一块的信息,我来刷新一下我们的这个队列,诶我们发现an硅谷news这个里边就有一个消息总量,有一个ready呢,就是有一个准备好了,现在还没有人接收,所以我们想要看消息怎么看,因为现在消息都在队列里边,那我们点进at硅谷news里边,点进来我们可以来看一下,看一下呢,下边有一个叫get message get呢,那就是获取我们这个消息,那么这个获取消息接下来这一块呢,有一个回复模式,回复模式no AK,就是呢,我们把消息拿来,不告诉MQ,我收到消息了,MQ呢就会把这个消息重新存到队列里边。
06:03
让别人来拿到,当然这一块呢,我们后来再仔细详说,我们现在就主要来看一下我们的消息,来get一下,看一下,好,我们发现我们的消息and硅谷news都能看到,包括我们的这个队列来点进来,我们发现我把消息看了以后,队列里边的消息还在,我们想要不在我们点进来看消息呢,我们就可以这么看,上面呢,我们选的是no a c k,我们没回复,并且呢,Use,也就说呢,我们重新入对是true的,想消息呢重新又放到队列里边,那现在呢,用下边的AC,我告诉你我收到消息了,并且呢,把这个不要重新放到队列里边,相当于从队列里边就删除了,来点一个get message,好,我们现在呢,看到消息,我们想要再get,队列里边没消息我们就get不到,而且呢,我们此时看队列,好,我们此时呢看一下队列,我们点进来,我们发现at硅谷news这个队列里边已经没消息了,这样呢,我们就可以把队列里边所有的消息都能消费掉。
07:03
好,但是这是我们直接交换机的演示,就是路由件,我们精确写什么就交给哪个队列,那再来演示一下,我们还给这个交换机来进行发送么?现在呢,路由键我们叫an特硅谷,那如果我们叫特硅谷应该发给哪个队列,那肯定呢,就发给绑定的艾特硅谷这个队列,好,我们来进行发送走。那么发送过来以后呢,们来看一下我们的队列,诶,我们发现at硅谷这个队列里边就有一个消息,那我们拿过来看一下,好把这个消息呢获取过来,这我们还是选择第二项,我们给他回复,我们收到了,让他把这个消息删掉啊来点一个get message,我们收到的消息确实叫and归谷,想要再获取队列里边已经空了,好,那这是我们说的第一种模式,直接交换机路由件要精确匹配,我们发消息的时候指定路由件是什么,那就交给哪个指定的队列。
我来说两句