image.png

交换机

直连交换机

Direct exchange:带路由功能的交换机,根据routing_key(消息发送的时候需要指定)直接绑定到队列, ⼀个交换机也可以通过过个routing_key绑定多个队列。
direct类型的交换器路由规则很简单,它会把消息路由到哪些BindingKey和RoutingKey完全匹配的队列中;

扇形交换机

Fanout exchange:⼴播消息。把所有发送到该交换器的消息路由到所有与该交换器绑定的队列中

主题交换机,

Topic exchange:发送到主题交换机上的消息需要携带指定规则的routing_key,主题交换机会根据这个规则将数据发送到对应的(多个)队列上。

⾸部交换机

Headers exchange:⾸部交换机是忽略routing_key的⼀种路由⽅式。路由器和交换机路由的规则是通过Headers信息来交换的,这个有点像HTTP的Headers。将⼀个交换机声明成⾸部交换机,绑定⼀个队列的时候,定义⼀个Hash的数据结构,消息发送的时候,会携带⼀组hash数据结构的信息,当Hash的内容匹配上的时候,消息就会被写⼊队列。