【RabbitMQ】二,工作模式

Exchange Types

RabbitMQ常用的Exchange Type有fanout、direct、topic、RPC这四种。

fanout

所有发送到该Exchange的消息路由到所有与它绑定的Queue中。
在这里插入图片描述

direct

将消息路由到binding key与routing key完全匹配的Queue中。
在这里插入图片描述

topic

topic类型的Exchange在匹配规则上进行了扩展,它与direct类型的Exchage相似。
匹配规则
routing key为一个句点号.分隔的字符串。
binding key与routing key一样也是句点号.分隔的字符串。
binding key中可以存在两种特殊字符*#,用于做模糊匹配。其中*用于匹配一个单词,#用于匹配多个单词(可以是零个)
在这里插入图片描述

RPC

在这里插入图片描述
1、客户端发送消息的时候,在消息的属性中设置两个值replyTocorrelationId
2、服务端接收消息并进行处理。
3、服务器端处理完成后,生成一条应答消息到replyTo指定的Queue,同时带上correlationId属性。
4、客户端之前已订阅replyTo指定的Queue,从中收到服务器的应答消息后,根据其中的correlationId属性分析哪条请求被执行了,根据执行结果进行后续业务处理。

RabbitMQ支持多种工作模式,以满足不同的消息传递需求。以下是几种常见的工作模式: 1. 简单模式(Simple Mode): - 在简单模式中,有一个生产者将消息发送到一个队列,然后一个消费者从队列中接收并处理消息。这种模式适用于单个生产者和单个消费者的场景。 2. 工作队列模式(Work Queue Mode): - 在工作队列模式中,有一个生产者将消息发送到一个队列,然后多个消费者从队列中接收并处理消息。消息会被平均分配给多个消费者,每个消费者会处理一个消息。这种模式适用于负载均衡和并发处理的场景。 3. 发布/订阅模式(Publish/Subscribe Mode): - 在发布/订阅模式中,有一个生产者将消息发送到一个交换机(Exchange),然后交换机将消息广播给绑定到它的所有队列。每个队列都有自己的消费者来接收并处理消息。这种模式适用于消息广播和多个消费者同时接收消息的场景。 4. 路由模式(Routing Mode): - 在路由模式中,有一个生产者将消息发送到一个交换机,并指定一个或多个路由键(Routing Key)。交换机根据路由键将消息路由到与之匹配的队列。每个队列都有自己的消费者来接收并处理消息。这种模式适用于根据不同的条件将消息路由到不同的队列的场景。 5. 主题模式(Topic Mode): - 在主题模式中,有一个生产者将消息发送到一个交换机,并指定一个主题(Topic)。交换机根据主题将消息路由到与之匹配的队列。每个队列都有自己的消费者来接收并处理消息。这种模式适用于根据模式匹配将消息路由到不同队列的场景。 通过选择适合的工作模式,开发人员可以根据具体需求实现灵活和可靠的消息传递机制。
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值