RabbitMQ包含四种不同的交换机类型:
Direct exchange:直连交换机,转发消息到routigKey指定的队列
Fanout exchange:扇形交换机,转发消息到所有绑定队列(速度最快)
Topic exchange:主题交换机,按规则转发消息(最灵活)
Headers exchange:首部交换机
Fanout扇形交换机:
扇形交换机是最基本的交换机类型,它做的事情很简单–广播信息。Fanout交换机会把接收到的消息全
部转发到绑定的队列上。因为广播不需要“思考”,所以Fanout交换机是四种交换机中速度最快的。适用场景:需要随时增加减少业务处理的队列,例如注册、下单等功能需要增加送积分功能,只需要增
加一个绑定到交换机的队列去处理新业务,无需修改旧的业务逻辑,从而达到业务解耦,非常容易扩展。
Direct直连交换机:
直连交换机是一种带路由功能的交互机,一个队列通过routing_key与一个交换机绑定,当消息被发送
的时候,需要指定一个routing_key,这个消息被送达交换机的时候,就会被交换机送到指定的队列里
面去。同样一个routing_key也是支持应用到多个队列中的,当一个交换机绑定多个队列时,消息就会被送到对应的队列去处理。适用场景:有优先级的任务,根据任务的优先级把消息发送到对应的队列,这样可以指派更多的资源