RabbitMQ中支持多种类型的交换机(Exchange)
其中每种类型都有其特定的路由逻辑,用于将消息路由到一个或多个队列中。以下是RabbitMQ中常见的四种交换机类型:
- 直连交换机(Direct Exchange):
- 特点:Direct交换机根据消息的routing key将消息路由到特定的队列。一个队列可以绑定多个routing key,但一个routing key只能被一个队列绑定(除非存在多个相同的routing
key绑定到不同队列的情况).如果消息的routing key与队列的routing key完全匹配,则该消息会被路由到该队列。- 应用场景:当需要根据不同的routing key将消息分发到不同的队列时,可以使用Direct交换机。例如,在订单处理系统中,可以根据订单类型(如“普通订单”、“加急订单”等)作为routing
key,将订单消息分发到不同的处理队列中。- 绑定规则:使用完全匹配的绑定键。
- 扇出交换机(Fanout Exchange):
- 特点:Fanout交换机将接收到的所有消息广播到所有与之绑定的队列中。它不关心消息的routing key,因为所有消息都会被发送到所有绑定的队列。
- 应用场景:当需要将消息广播到多个消费者时,可以使用Fanout交换机。例如,在日志系统中ÿ