RabbitMQ-Exchange

Exchange

Exchange分发消息时根据类型的不同分发策略有区别,目前共四种类型:direct、fanout、topic、headers 。
服务器发送消息不会直接发送到队列中(Queue),而是直接发送给交换机(Exchange),然后根据确定的规则,RabbitMQ将会决定消息该投递到哪个队列。这些规则称为路由键(routing key),队列通过路由键绑定到交换机上。消息发送到服务器端(broker),消息也有自己的路由键(也可以是空),RabbitMQ也会将消息和消息指定发送的交换机的绑定(binding,就是队列和交互机的根据路由键映射的关系)的路由键进行匹配。如果匹配的话,就会将消息投递到相应的队列。

direct exchange

exchange在和queue进行binding时会设置routingkey,我们在发送消息时候会设置routingkey,当两个key 相同时,消息进入队列。也就是说Exchange才会路由消息。

topic exchange

routingkey可以有通配符:*号只能向后多匹配一层路径。#号可以向后匹配多层路径。

fanout exchange

直接将消息路由到所有绑定的队列中

header exchange

路由的规则是根据header来判断

原文地址:https://www.cnblogs.com/jsersudo/p/13812801.html