RabbitMQ Exchange 类型

RabbitMQ Exchange 有四种类型:fanout、direct、topic、headers

fanout 类型:类似于广播,群发。接收到的消息,会分发给所有绑定的队列。如下图所示,每个队列都会得到全部得消息。

RabbitMQ Exchange 类型_第1张图片

direct 类型:
消息生产者投递消息到 Exchange 时,给出两个信息:一个是消息本体,一个是消息的路由键(RoutingKey)。类似与我们电子邮件时,邮件的内容(消息本体)和接收人的邮件地址(路由键)。
队列和和 Exchange 绑定时,需要指定一个绑定键(BindingKey)关联。
当Exchange投递消息时,会把消息投递到绑定键和路由键相等的队列里。
RabbitMQ Exchange 类型_第2张图片

topic 类型:
消息生产者投递消息到 Exchange 时,给出两个信息:一个是消息本体,一个是消息的路由键(RoutingKey)。路由键可以使用 “.” 字符做为分割符,如:cn.beijing.tongzhou。此时路由键可以理解为按 “.”分割的单词cn、beijing、tongzhou
队列和 Exchange 绑定时,需要指定一个绑定键(BindingKey)关联。这个绑定键同路由键一样,也使用 “.” 字符做为分割符,如cn.beijing.tongzhou,同时这个绑定键还可以使用 “” 做单个单词的模糊匹配;用“#”做多个单词的模糊匹配。
例如cn.beijing.
绑定键的队列接收路由键cn.beijing.tongzhou、cn.beijing.chaoyang 等等以cn.beijing. 开头,后面跟任何字符串做路由键(不含“.”)的消息。
cn.# 绑定键的队列接收路由键 cn.beijing.tongzhou、cn.beijing cn.beijing.changyang.wangjing 等等以 cn. 开头,后面跟任何字符串做路由键(包含“.”)的消息。

RabbitMQ Exchange 类型_第3张图片

headers 类型:消息生产者发送消息时,指定headers(键对值形式),队列和 Exchange 绑定时指定headers的匹配形式。不常用

你可能感兴趣的:(RabbitMQ,资料整理,rabbitmq,分布式,java)