【RabbitMQ】工作模式

1. 简单模式(Simple)

  • 特点:一个生产者对应一个消费者,通过队列进行消息传递。使用RabbitMQ的默认交换机(direct类型)进行消息路由。
  • 应用场景:适用于简单的消息发送和接收场景,如日志收集、异步通知等。

2. 工作队列模式(Work Queue)

  • 特点:一个生产者,多个消费者,每个消费者获取到的消息唯一,多个消费者共享一个队列。通过队列进行消息传递,消息默认采用轮询的方式平均发送给消费者。
  • 应用场景:适用于任务过重或任务较多的情况,通过增加消费者数量来提高任务处理的速度。

3. 发布订阅模式(Publish/Subscribe)

  • 特点:生产者将消息发送给交换机,交换机将消息转发到绑定此交换机的每个队列中,同一个消息会转给所有的队列。队列中的消息会轮询地分配给队列的消费者。
  • 应用场景:适用于需要将消息广播给多个消费者的场景,如电商网站的促销信息需要同时发送短信、邮件和站内信等。

4. 路由模式(Routing)

  • 特点:在发布订阅模式的基础上,增加了路由键(RoutingKey)的概念。生产者将带有路由键的消息发送给交换机,交换机根据路由键将消息定向发送到指定的队列中。
  • 应用场景:适用于需要将消息发送到特定队列的场景,通过路由键实现消息的精准路由。

5. 通配符模式(Topics)

  • 特点:在路由模式的基础上,给队列绑定带通配符的路由键。交换机根据消息的路由键和队列的通配符路由键进行匹配,如果匹配成功,则将消息转发到该队列。
  • 应用场景:适用于更复杂的路由场景,如需要根据消息的某些属性将消息发送到不同的队列中。

6. 远程调用模式(RPC,不常用)

  • 说明:虽然RabbitMQ支持RPC(远程过程调用)模式,但这不是其主要的消息传递模式,且在实际应用中不常使用。RPC模式更多地是RPC框架(如gRPC、Apache Thrift等)的功能范畴。

  • 3
    点赞
  • 3
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
RabbitMQ提供了6种工作模式,包括简单模式、work queues、Publish/Subscribe发布与订阅模式、Routing路由模式、Topics主题模式、RPC远程调用模式(不太符合MQ)。这些模式分别具有不同的特点和使用场景。简单模式是最基本的模式,消息发送到队列中被消费者接收。工作队列模式是多个消费者共同消费一个队列中的消息。Publish/Subscribe发布与订阅模式中,生产者将消息发送到交换机,然后交换机将消息广播给所有绑定的队列。Routing路由模式是生产者选择将消息发送到特定的路由键上,消费者通过绑定队列和路由键来接收消息。Topics主题模式类似于Routing模式,但是可以使用通配符进行匹配路由键。RPC远程调用模式用于远程调用服务,不太符合消息队列的特点。 可以看出,这些模式在消息的传输、消费者的数量、消息的路由等方面有所不同。工作队列模式不需要定义交换机,而发布/订阅模式需要定义交换机。发布/订阅模式是面向交换机发送消息,而工作队列模式是面向队列发送消息(底层使用默认交换机)。发布/订阅模式需要设置队列和交换机的绑定,而工作队列模式不需要设置,实际上工作队列模式会将队列绑定到默认的交换机。 综上所述,RabbitMQ工作模式包括简单模式、work queues、Publish/Subscribe发布与订阅模式、Routing路由模式、Topics主题模式、RPC远程调用模式。每种模式在实际应用中有不同的用途和特点,可以根据具体需求选择合适的工作模式。<span class="em">1</span><span class="em">2</span><span class="em">3</span> #### 引用[.reference_title] - *1* [RabbitMQ工作模式](https://blog.csdn.net/weixin_42440154/article/details/124689685)[target="_blank" data-report-click={"spm":"1018.2226.3001.9630","extra":{"utm_source":"vip_chatgpt_common_search_pc_result","utm_medium":"distribute.pc_search_result.none-task-cask-2~all~insert_cask~default-1-null.142^v93^chatsearchT3_1"}}] [.reference_item style="max-width: 50%"] - *2* *3* [RabbitMQ六种工作模式详解](https://blog.csdn.net/qq_44760609/article/details/125084962)[target="_blank" data-report-click={"spm":"1018.2226.3001.9630","extra":{"utm_source":"vip_chatgpt_common_search_pc_result","utm_medium":"distribute.pc_search_result.none-task-cask-2~all~insert_cask~default-1-null.142^v93^chatsearchT3_1"}}] [.reference_item style="max-width: 50%"] [ .reference_list ]
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值