RabbitMQ交换机Exchanger详解

RabbitMQ种的交换机Exchanger的作用是:接受消息,并根据路由键转发消息所绑定的队列。

1、交换机属性

Name:交换机名称
Type:交换机类型,如direct、topic、fanout、headers
Durability:是否需要持久化,true为持久化
Auto Delete:当最后一个绑定到Exchanger上的队列删除后,自动删除该Exchanger
Internal:当前Exchanger是否用于RabbitMQ内部使用,默认为False
Arguments:扩展参数,用于扩展AMQP协议使用

2、Direct类型

所有发送到Direct Exchanger的消息都被转发到RoutingKey中指定的Queue中
Direct模式可以使用RabbitMQ自带的Exchanger:default Exchange,所以不需要将Exchanger进行任何绑定操作,消息传递时,RoutingKey必须完全匹配才会被队列接受,否则消息会被抛弃

3、Topic类型

所有发送到TopicExchange的消息都被转发到所有关心RoutingKey中指定Topic的Queue上
Exchanger将RoutingKey和某Topic进行模糊匹配,此时队列需要绑定一个Topic,匹配规则如下:

符号"#"匹配一个或多个词
符号"*"匹配不多不少一个词
例如:"log.#"能够匹配到"log.info.oa","log.
"只会匹配到"log.erro"

发送到1个TopicExchange上的消息,如果匹配了多个Queue,则会向每个匹配的Queue发送此消息

4、Fanout类型

Fanout Exchanger 有一下特点:

1、不处理路由键,只需要简单的将队列绑定到交换机上
2、发送到交换机的消息都会被转发到与该交换机绑定的所有队列上
3、Fanout交换机转发消息是最快的

你可能感兴趣的:(RabbitMQ交换机Exchanger详解)