00:00
同学们,我们接下来呢,说一说死战的一个代码架构图,对,马上要进行实战了,先把死劲的架构图咱说一下。首先这个架构图呢,就是还是老样子,就是一个生产者。两个消费者,对,还是一个生产者,两个消费者。生产者呢,正常情况下走的是一个叫普通的交换机,这个交换机的类型呢,就是直接交换机类型。对完了呢,他之间跟普通队列之间的关系呢,是一个叫张三的,一个叫路由K,也叫绑定K或者绑定键。英文单词叫ROK对吧,完了呢是张三。正常情况下应该会被C所消费,但是很可惜就发生了我们之前所说的三大问题,第一大问题,消息有可能被拒绝了。第二大问题,消息的过期时间已经到了。
01:04
第三大问题,哎,队列达到最大长度了,放不进去了,队列满了。这都将成为死系。对,所以如果不出现这三大问题,正常应该被C1这个消费者所消费。但是一旦出现这三大问题之一,只要出现一个,马上就会成为死信。这个死信必须要进行保存,不能丢失。所以呢,马上它就会被转发到一个叫死信交换机,听着名字带的啊死的意思,死信交换机,这个死心交换机的类型呢,也是直接类型。完了呢,他们之间呢,也有个roting k啊,是一个关键词戒是吧,绑定键叫李四,对,前面这个是张三,这是李四吧,颜色也不一样啊,如果正常情况下走呢,它是绿色的,出现了问题变成蓝色的,对,完了呢,就记住了一个叫死心队列。
02:04
进入死刑队列中,死刑队列由谁消费呢?由C2所消费。哎,所以这就完成了一次死信的这么一个流程。正常情况下呢,当然是这么直线走过来是吧,哎,走到C消费就算结束了,但是不正常情况下,那就走下面成为死信这条线完进入到C2当中进行消费。这就是死信的一个呃,代码架构图。我们呢,为了完成这个代码呢?按照这张图来说,我们应该写多少东西呢?啊,我们要写的代码比较多,第一我们要把C写了。对吧,C是一个正常的消费者接收正常的一个普通队列。而C2呢,是一个死心的消费者,所以是走死心对联。那么这里面有几个队列呢?有两个队列啊,其中一个队列叫正常的队列,也叫普通啊,这单词念普通啊,叫普通队列,这个叫死信队列,两个两个队列。
03:07
那有几个交换机呢?有俩交换机,一个叫正常的交换机,或者叫普通交换机,一个叫死信交换机,它们之间的类型是一样的,都用这个叫直接类型。对,完了之后,紧接着他们的ROK是不一样的,一个是张三,一个是李四,对,就这么个情况,所以经过一分析,我们的代码呢,要写多少呢?哎,我们的代码要写三个类,分别是C一个,C21个。和生产者一个。生产者倒非趁写。重点谁难写呢?C1和C2难写。因为你要在C1的里面去定义普通队队列啊,声明普通队列,并且还声明一个普通的交换机,对,这两个都得出来完,同时你还得声明一个死信队列完,还得来一个死心的交换机啊,说反了是吧,这是死心的交换机,还得声明一个死心的队列,所以在C的里面。
04:07
你要声明四个两个交换机,对,这是第一个交换机,这是第二交机。完了又两个队列啊,这是第一个队列,这是第二个队列,所以在C里面你要声明四个东西。分别是两个交换机,两个队列,而且你还要让这个普通的队列与你的死信交换机。有关系。因为什么?为什么有关系?是因为一旦这个队列发生这三大问题时,马上就得成为死性,就得转发到哪儿,转发到死心交换机上,所以死心交换机与普通队列之间还要进行有一个捆绑关系。你要不进行捆绑是没办法走哪个箭头呢?走这个箭头,哎,这个红色的箭头,这个箭头是红色的,注意啊,这箭头是红色的,所以需要进行连接。
05:00
对,所以我们代码呢,谁最难写呢?C1最难写,当然C2很简单啊,因为4C2他只负责接收,哎,死信队列的那种消息就可以了,所以它是一个正常接收,哎,没有什么太多的内容。所以我们分为几步写呢?分为三步啊,第一步先写C。对,接收消息。第二步写生产者。第三步,哎,再写一个C2,将死信队列中的消息进行消费。所以总共是三步,得有三个代码。好,那我们接下来呢,写一下啊。
我来说两句