fanout交换机重点内容非常简单。
它只会将接收到的所有消息广播发送到它所知道的所有队列。
direct 交换机是按指定的关键字进行区分,在交换机里面对Key 进行分发。消费者绑定队列时需要指定交换机名称以及,对该交换机中的哪些Key 感兴趣。交换机记录了每一个绑定到自己的队列所关心的所有Key ,它就知道哪些消息发往哪些队列。
发送端只需要关心发送到哪一个交换机,同时为该消息指定Key,消费者需要为自己的队列绑定交换机,以及感兴趣的Key.
topic 交换机是最为灵活的交换机类型,发送端将消息发布到交换机,它并不关心具体 的队列 有哪些。但是它会指定该消息属于哪个routing_key ,这样在接收端,指定了交换机之后,同时绑定了routing_key ,那么 rabbitMQ 就知道了这个消息是否为该队列 感 兴趣的消息。如果 没有任何一个接收者对routing_key 感兴趣,那么 该消息将会被丢弃。
在我们现在的分布式服务 器架构上面,对每一个服务 器确定一个topic 交换 机名称,所有对该服务器发送的消息感 兴趣的服务或者客户端 去订阅它的交换机,另外 指定routing_key 就可以区别 不同的接收端 。