- work queues工作队列模式

工作队列模式示例图:
RabbitMQ工作模式及消息发布
消费者之间是竞争的关系
在队列中的一个消息,只能被其中一个消费者接收到,如果有20个消费者,也只能被一个消费者所接收。
简单模式是一个生产者和一个消费者。工作队列模式比简单模式多了一个或一些消费者端,消费者间是竞争关系。
工作模式的应用场景:当如果很多消息都发到一个队列中,如果消费者只有一个的话,那么处理速度会比较慢,如果有很多消费者,那么队列中的消息就可以被快速的处理掉,也就是可以提高任务处理的速度。
目标:了解work queues工作队列模式的特点
分析:
工作队列模式:在同一个队列中,可以有多个消费者,消费者之间对于消息的接收是竞争关系。
生产者:发送30个消息
消费者:创建两个消费者监听同一个队列,查看两个消费者的接收消息是否存在重复。

小结:
工作队列模式:一个消息只能被一个消费者接收,其他消费者是不能接收到同一条消息的。
应用场景:可以在消费者端处理任务比较耗时的时候,添加对同一个队列的消费者来提高任务处理能力。

- 订阅模式类型说明

目标:说出订阅模式中的Exchange交换机作用以及交换机的三种类型
分析:
简单模式、工作队列模式,消息发送出去之后到了消息队列,一个消息只能被某一个消费者接收。
如果真的是有需要,将一个消息发了以后,让所有消费者都可以接收到的话,应该怎么做?
订阅模式可以满足这个需求。
订阅模式示例图:
RabbitMQ工作模式及消息发布
一个生产者,发送消息到交换机,交换机把消息发送给不同的队列,队列对接消费者。
交换机的作用:一方面,它接收来自生产者发送的消息,另一方面,它要决定这些消息应该如何发送给不同的队列。
到底如何把消息投递给或者发送给这些队列的呢?取决于我们交换机的类型
交换机类型:交换机的类型有三种:
1、广播 Fancut
特征:会将一个消息到了交换机以后,如果是广播的类型交换机,它就会把这个消息发送给所有跟这个交换机绑定的队列。这些队列接收到消息后,对应的消费者也能够接收到消息。
2、定向
特征:定向就是,发了一个消息,这个消息携带了一个路由key,也就是一个字符串,这个字符串要与当时队列跟交换机绑定的时候指定的路由key一致,这个队列才能接收到消息,如果不一致,这个队列就会接收不到消息,所以如果是用定向这种模式的话,就会更精准的可以把消息投放给、传递到不同的队列上。
3、通配符
特征:与定向的一样,也会指定路由key,只是这个路由key,只不过这个路由key它会有一个模式,也就是可以使用通配符,这个通配符可以使用两个,一个是*一个是#,*匹配一个单词,#匹配多个单词,也就是比定向模式,在路由key的制定上会更加的灵活。

RabbitMQ工作模式及消息发布

相关文章: