RabbitMQ的工作模式

1. 简单模式

 

 

一个生产者、一个消费者,不需要设置交换机(使用默认的交换机)即可。

2. 工作队列模式 Work Queue 

 

 一个生产者、多个消费者,对同一个消息是竞争关系,不需要设置交换机(使用默认的交换机)

3. 发布订阅模式 Publish/subscribe

 

 

在订阅模型中,多了一个Exchange角色,上图中各个部分的含义

P: 生产者,要发送消息的程序,不是直接发送到队列中,而是发送到交换机中。
C: 消费者,接收消息的程序,会一直等待消息到来。
Queue(红色部分): 消息队列,接收消息,缓存消息。
X: 交换机,即Exchange。一方面,接收生产者发送的消息。另一方面,知道如何处理消息,例如递交给某个特别队列、递交给所有队列、或是将消息丢弃。具体是如何操作的,取决于Exchange的类型。Exchange有常见以下3种类型。
Fanout: 广播模式,将消息交给所有绑定到交换机的队列,

Direct: 路由模式,把消息交给符合指定routing key的队列

Topic: 主题模式,与路由模式的区别是用通配符匹配,把消息交给符合routing pattern的队列

注意:交换机只负责转发消息,不具备存储消息能力,所以,如果没有符合规则的队列,那么消息就会丢失!

总结:RabbitMQ工作模式总结:我的概括为RabbitMQ的工作模式有三种,分别是简单模式、工作队列模式,发布订阅模式。其中,发布订阅模式根据设置Exchange(交换机)的类型又可分为Fanout模式、Direct模式、和Topic模式。


————————————————
版权声明:本文为CSDN博主「我追的番怎么还不完结」的原创文章,遵循CC 4.0 BY-SA版权协议,转载请附上原文出处链接及本声明。
原文链接:https://blog.csdn.net/weixin_65598890/article/details/125786713

posted @ 2023-02-28 10:25  燕钰达  阅读(58)  评论(0编辑  收藏  举报