00:00
同学们,我们接下来呢,讲一讲交换机。交换机呀。咱们之前一直是创建一个工作队列。对于交换机呢,咱们一直也没提。实际上,同学们都知道,我们的内容不应该仅仅是一个队列。我们的MQ呢,它应该是一个这样子的。对,这样子的。也就是说这是整个一个叫broke对吧。完了,Broke里面呢,应该有交换机。对。应该有交换机里面同时还得有队列,对,那么我们之前一直是发队列,并没有提交换机的事情,那是因为我也简单说了一下,用的是。默认交集。咱们去看一下子默认交换机是什么样。这你看有个叫amqp defa,表示它是默认交换机,也就是说你可以不用指定交换机,指定一个空串就可以了,那么它会走默认交换机完,默认交换机帮你在。
01:04
路由到指定的柔ting配。啊找,例如我们的这里面有一个队列是吧,这些都是我们之前创建的队列啊,因为进行循环便利去创建嘛,所以创建了大量的队列完之后呢,紧接着我们这些队列,就这两个队列是吧,我们。都是使用默认交换机,就是默认交换机里面会去帮你进行路由到指定的队列,所以之前没有用到队列。没有用到交换机啊,那么我们现在呢,终于要用到交换机了,为什么呢?因为。工作队列背后,如果每个任务恰好交付给一个消费者,注意啊,交只交给一个消费者。在这部分当中,我们将做一些完全不同的事情,例如将消息传递给多个消费者,哎,这种模式叫什么?发布订阅模式?什么意思呢?来说一下。就是这意思。
02:01
就是这种场景。假如生产者。要发消息。对,发消息。发的这个消息呢,他打算是让多个消费者接收到。同学说那之前不能做到吗?之前不能,你忘记了之前是竞争关系对不对,记不记得之前是竞争关系,当时咱们只写队列完,这个时候你后面有消费者。对,消费者完之后呢,你再来一个新的消费者,这两个消费者能拿到同一个队列当中的同一份消息吗?显然不能,为什么呢?因为消息只能被消费一次。对吧,这就写呢消息。只能被。消费一次,哎,不可以被消费多次,一旦被消费者一当时人起名叫C嘛。C1是被消费了,那C2还能消费吗?C2就不能,所以一个消息只能被消费一次。
03:06
一个消息只能被消费一次,但是现在偏偏就有这么一个需求。表示一个消息必须被。消费两次。那怎么办呢?要真正达到一个消息被消费两次的话,那这张图呢,就得换成这样。生产者。来生产者放在这完之后呢,他下一关走的是谁呢?走的就不是队列了,应该走的是交换机。对,完了由交换机再进行找下一个谁呢?队列是吧,我们把队列改一个不一样的形状啊,队列对。这个地方呢,叫绑定啊叫。准确来说叫rotting。对进行。这是一个关键词啊,关键词路由的K。干成什么事呢?干一个叫绑定的事情。叫。
04:01
绑定。这个绑定它还有一个名字叫。帮你对吧,帮你。干这些事啊,完了将这个交换机和这队列绑在一起,完再由队列将消息是吧,发送给消费者。那么这样的话,这个队列里面呢,注意啊,还是本身的一个原则,队列里的消费只消息是吧,只能。被消费一次。完了,消费给谁了呢?消费者给这个消费者。那么我们希望这个消息被消费两次,那你就这么不干?所以这么干,再来一个队列。再来一个队列,完了呢,交换机将你生产者发的这个消息,哎,这一个消息吧,一个消息转发给两个队列。来两个队列呢,使用的是。同一个K或者是不同的K都可以,完之后呢,这个消息再被消费者消费一次。
05:07
又来一次,这就达到了一个消费可以消费两个的目的,但是呢,还是之前的原则啊,就是。一个队列中的消息只能被消费一次,但是如果两个队列呢?两个队列不就可以消费两次了吗?所以这个就是马上要说的那个叫什么发布订阅模式,这呢学上叫发布。订阅模式。咱们之前学习的这些,你看一个这种这都是简单模式对。对,简单模式。或者叫工作模式。也有另外一个名字叫简单队列,或者叫工作队列都可以啊,啊这种情况下呢,一般就使用一个队列就可以,不需要交换机,那么一旦用到交换机这种名字就叫发布订阅模式了。
06:00
当然了,还有两大模式,一个叫路由模式,一个叫主题模式,那两大模式呢,咱们在很早的课程之前也都呃讲过了,它属于交换机的或者是MQ的六大核心。属于六大核心之一嘛,是吧,上面这是两大核心,加上下面这个三大,还有路由,第四大还有主题,第五大还有一个发布定,这个发布确认对吧,第六大嘛,总共六大核心吧。咱们讲了半天,只讲了两大核心是吧,完了呢,这是第三大核心。第三大核心师就用到了交换机,所以我们接下来准备详细的讲解一下交换机。这个交换机呢,我们介绍了一下它的功能,那么至于交换机怎么用呢?我们接下来再详细说一说交换机的一个概念。
我来说两句