fanout
它会把所有发送到该交换器的消息路由到所有与该交换器绑定的队列中。
direct
它会把消息路由到那些绑定键和路由键完全匹配的队列中。
topic
direct是完全匹配,topic是将消息路由到绑定键和路由键相匹配的队列中。
匹配规则:
1)RoutingKey 为一个“.”分隔字符串,如"a.b.c" 则消息会分别路由到 a、b、c对应的队列中
2)BindingKey 和RoutingKey 一样也是“.”分隔字符串
3)BindingKey 可以存在两种特殊字符串“*” 和“#”用于做模糊查询,其中“*”用于匹配一个单词,“#”用于匹配多个单词(可以是0个)
headers
不依赖路由键的匹配规则来路由消息,而是根据发送的消息内容中的Headers属性进行匹配。该类型的交换器性能很差,不实用。