在RabbitMQ中,exchange有4个类型:
- direct
- topic
- fanout
- header
direct
在direct类型的exchange中,只有这两个routingkey完全相同,exchange才会选择对应的binding进行消息路由。
topic
此类型exchange和上面的direct类型差不多,但direct类型要求routingkey完全相等,这里的routingkey可以有通配符:'*','#'.
其中'*'表示匹配一个单词, '#'则表示匹配没有或者多个单词
fanout
此exchange的路由规则很简单直接将消息路由到所有绑定的队列中,无须对消息的routingkey进行匹配操作。
header
此类型的exchange和以上三个都不一样,其路由的规则是根据header来判断,其中的header在arguments参数中指定。
一般来说direct和topic用来具体的路由消息,如果要用广播的消息一般用fanout的exchange。
除非注明,否则均为李锋镝的博客原创文章,转载必须以链接形式标明本文链接