type
status
date
slug
summary
tags
category
icon
password
交换机作用
之前创建队列的时候,使用的是默认交换机,由一个消费者消费消息,要么使用自动应答要么使用手动应答的方式完成消息消费,之后消息就从队列中删除了。这种只有一个消费者的叫做简单模式,也叫做工作模式。

image-20230615142515496
有交换机的情况下,可以通过交换机发送到多个队列,这样一个消息就可以被多个消费者消费。
交换机介绍
MQ发送消息的逻辑是,生产者把消息发送到交换机,交换机的工作是接收 MQ 发送过来的消息,然后把消息推入队列,至于该放到哪个队列中,还是说丢弃他们,这就由交换机的类型来决定,这样实现的场景就多了。可以根据路由 key 来决定要把消息放在哪个队列中。

Fanout 介绍
Fanout 这种类型很简单,它是将所有消息广播到它知道的所有队列中。类似于群组一样。
代码演示,一条消息由多个消费者消费
都指定一个交换机,并且 rootKey 是一样的,这样都可以接收到消息。
消费者 1
消费者 2
生产者
结果
生产者发送一个消息,两个消费者一起消费



总结
fonout 模式下,只要绑定到一个交换机上,不管 rountKey 是否一样,消费者都能接收到消息,也就是广播模式。