RabbitMQ四种Exchange类型

RabbitMQ有四种Exchange类型,分别是Direct 、Fanout 、Topic、Headers
这四种累的exchange分别有以下一些属性,分别是:

    name:名称

    Durability:持久化标志,如果为true,则表明此exchange是持久化的。

    Auto-delete:删除标志,当所有队列在完成使用此exchange时,是否删除

    Arguments:参数

Direct

处理路由键,需要将一个队列绑定到交换机上,要求该消息与一个特定的路由键完全匹配。这是一个完整的匹配。如果一个队列绑定到该交换机上要求路由键为 “green”,则只有路由键为“green”的消息才被转发,不会转发路由键为"red",只会转发路由键为"green"。


image.png

Topic

将路由键和某模式进行匹配。此时队列需要绑定要一个模式上。符号“#”匹配一个或多个词,符号“*”只能匹配一个词。


image.png

Fanout

Fanout 不处理路由键。你只需要简单的将队列绑定到交换机上。一个发送到该类型交换机的消息都会被广播到与该交换机绑定的所有队列上。


image.png

Headers

不处理路由键,而是根据发送的消息内容中的headers属性进行匹配。在绑定Queue与Exchange时指定一组键值对;当消息发送到RabbitMQ时会取到该消息的headers与Exchange绑定时指定的键值对进行匹配;如果完全匹配则消息会路由到该队列,否则不会路由到该队列。headers属性是一个键值对,可以是Hashtable,键值对的值可以是任何类型。而fanout,direct,topic 的路由键都需要要字符串形式的

image.png

你可能感兴趣的:(RabbitMQ四种Exchange类型)