前往小程序,Get更优阅读体验!
立即前往
首页
学习
活动
专区
工具
TVP
发布
社区首页 >专栏 >RabbitMq的消息队列类型direct、fanout、topic、headers(headers抛弃)

RabbitMq的消息队列类型direct、fanout、topic、headers(headers抛弃)

作者头像
93年的老男孩
发布2019-12-18 17:31:17
9790
发布2019-12-18 17:31:17
举报

direct (交换器 + 路由键匹配,投递到对应的队列)

1 服务端 server 将 消息 msg_txt 投递 到 交换器 exchange_name 路由键为 routing_key_name ,当 有队列 queue_name 绑定到 本交换器 exchange_name 并且绑定路由键为 routing_key_name ,则消息到达队列 queue_name

2 服务端 server 将 消息 msg_txt 投递 到 交换器 exchange_name 路由键为 routing_key_name ,当 有队列 queue_name 绑定到 本交换器 exchange_name 并且绑定路由键为 routing_key_name_1 非 routing_key_name ,消息丢弃

3 服务端 server 将 消息 msg_txt 投递 到 交换器 exchange_name 路由键为 routing_key_name ,无 队列 绑定到 本交换器 exchange_name,无论绑定的 路由键 是不是 routing_key_name 消息丢弃

1 客户端 client 将 队列 queue_name 绑定 到  交换器 exchange_name 路由键为 routing_key_name , 则 接受 来自 交换器 exchange_name 路由键为 routing_key_name 的消息,不接受 routing_key_name_1 的消息

2 客户端 client 将 队列 queue_name 绑定 到  交换器 exchange_name 路由键为 routing_key_name 和 routing_key_name_1 , 则 接受 来自 交换器 exchange_name 路由键为 routing_key_name 和 routing_key_name_1 的消息

3 客户端 client 将 队列 queue_name 绑定 到  交换器 exchange_name 路由键为 routing_key* , 则 接受 来自 交换器 exchange_name 路由键为 routing_key* 的消息,不接受 路由键为 routing_key_name 和 routing_key_name_1 的消息

4 客户端 client 将 多个队列 queue_name_1 queue_name_2 queue_name_3 都绑定 到  交换器 exchange_name 路由键为 routing_key_name , 则 所有队列 接受 来自 交换器 exchange_name 路由键为 routing_key_name 的所有消息不轮训

fanout (交换器,投递到对应的队列) 

1 服务端 server 将 消息 msg_txt 投递 到 交换器 exchange_name 路由键无论是什么 当 有队列 queue_name 绑定到 本交换器 exchange_name 则消息到达队列 queue_name

2 服务端 server 将 消息 msg_txt 投递 到 交换器 exchange_name 路由键无论是什么 无 队列 绑定到 本交换器 exchange_name 消息丢弃

1 客户端 client 将 队列 queue_name 绑定 到  交换器 exchange_name 路由键无论是什么 则 接受 来自 交换器 exchange_name 的消息

2 客户端 client 将 多个队列 queue_name_1 queue_name_2 queue_name_3 都绑定 到  交换器 exchange_name 路由键无论是什么 , 则 所有队列 接受 来自 交换器 exchange_name 所有消息不轮训

topic (交换器 + 路由键 正则匹配,使用 * 匹配一个单词,# 匹配多个单词,投递到对应的队列)

1 同direct

2 客户端 client 若将 队列 queue_name 绑定 到  交换器 exchange_name 路由键为 routing_key.* ,  则 接受 来自 交换器 exchange_name 路由键为 routing_key.name1 和 routing_key.name2 的消息 不接受 routing_key_name 和 routing_key.name1.name2 的消息

3 客户端 client 若将 队列 queue_name 绑定 到  交换器 exchange_name 路由键为 routing_key.# ,  则 接受 来自 交换器 exchange_name 路由键为 routing_key.name1 和 routing_key.name2 和 routing_key.name1.name2 的消息 不接受 routing_key_name 的消息

4 客户端 client 若将 队列 queue_name 绑定 到  交换器 exchange_name 路由键为 # ,  则 接受 来自 交换器 exchange_name 路由键为 routing_key.name1 和 routing_key.name2 和 routing_key.name1.name2 和 routing_key_name 的消息

5 客户端 client 若将 队列 queue_name 绑定 到  交换器 exchange_name 路由键为 routing_key* 或 routing_key# ,  则 不接受 来自 交换器 exchange_name 路由键为 routing_key.name1 和 routing_key.name2 和 routing_key.name1.name2 和 routing_key_name 的消息

本文参与 腾讯云自媒体分享计划,分享自作者个人站点/博客。
原始发表:2019-05-30 ,如有侵权请联系 cloudcommunity@tencent.com 删除

本文分享自 作者个人站点/博客 前往查看

如有侵权,请联系 cloudcommunity@tencent.com 删除。

本文参与 腾讯云自媒体分享计划  ,欢迎热爱写作的你一起参与!

评论
登录后参与评论
0 条评论
热度
最新
推荐阅读
领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档