RabbitMQ-direct直通模式

direct: 把Exchange上的消息发送到匹配routing key的队列中。
     消费者队列绑定关键字到交换机上,发送者将数据根据关键字发送到交换机上,交换机根据关键字去遍历绑定到它上面的队列,将数据发送至指定关键字的队列。

     在上图中,有两个队列绑定到direct类型的交换机“X”。第一个队列绑定关键字orange,第二个有2个绑定关键字,一个是black,另一个是green。在这种设置下,有orange绑定关键字的消息会被交换机发送到队列Q1。拥有black或green绑定关键字的消息将被发送到Q2。其它的所有消息将被丢弃。
     对于同一个关键字绑定到多个队列的情况也是可以的,如图所示:

     给一给交换机X和队列Q1添加绑定相同的关键字black。此时,direct交换机将和fanout表现的一样,广播消息到所有队列。关键字为balck的消息将被发送给Q1和Q2。
Direct模式下的消息是支持持久化的,当消费端不在线时,消息会存在对于的队列中(mq中交换机只是起到一个路由的功能,不存储消息,消息都是存储于队列中的),并不会丢失。消费端启动后到指定的队列上去取消息,会将该队列上所有的消息都取走。
代码例子参考另一篇文章RabbitMQ-fanout广播模式,只需要将交换机的类型修改为direct即可。

//声明交换机CExchange exchange(exchange_name, "direct", true, false);if (0 != mqClient.DeclareExchange(exchange, err)){return -1;}

RabbitMQ-direct直通模式相关推荐

  1. c#服务器后端_C#使用RabbitMq队列(Sample,Work,Fanout,Direct等模式的简单使用)

    1:RabbitMQ是个啥?(专业术语参考自网络) RabbitMQ是实现了高级消息队列协议(AMQP)的开源消息代理软件(亦称面向消息的中间件). RabbitMQ服务器是用Erlang语言编写的, ...

  2. RabbitMQ,RabbitMQ 的工作模式,Spring 整合 RabbitMQ,Springboot 整合RabbitMQ

    什么是RabbitMQ 1.1 MQ概述 MQ全称 Message Queue(消息队列),是在消息的传输过程中保存消息的容器.多用于分布式系统之间进行通信. ⚫ MQ,消息队列,存储消息的中间件 ⚫ ...

  3. RabbitMQ六种队列模式-主题模式

    前言 RabbitMQ六种队列模式-简单队列 RabbitMQ六种队列模式-工作队列 RabbitMQ六种队列模式-发布订阅 RabbitMQ六种队列模式-路由模式 RabbitMQ六种队列模式-主题 ...

  4. 【转】RabbitMQ六种队列模式-5.主题模式

    前言 RabbitMQ六种队列模式-简单队列 RabbitMQ六种队列模式-工作队列 RabbitMQ六种队列模式-发布订阅 RabbitMQ六种队列模式-路由模式 RabbitMQ六种队列模式-主题 ...

  5. 【转】RabbitMQ六种队列模式-4.路由模式

    前言 RabbitMQ六种队列模式-简单队列 RabbitMQ六种队列模式-工作队列 RabbitMQ六种队列模式-发布订阅 RabbitMQ六种队列模式-路由模式 [本文] RabbitMQ六种队列 ...

  6. RabbitMQ的工作模式Topics  通配符,test测试代

    RabbitMQ有以下几种工作模式 : 1.Work queues  工作队列 2.Publish/Subscribe 发布订阅 3.Routing      路由 4.Topics        通 ...

  7. RabbitMQ的工作模式Routing 路由,test测试代

    RabbitMQ有以下几种工作模式 : 1.Work queues  工作队列 2.Publish/Subscribe 发布订阅 3.Routing      路由 4.Topics        通 ...

  8. RabbitMQ手动确认模式(项目开发常用模式)

    RabbitMQ 手动确认模式(日常项目开发常用模式) 借鉴导言 架构及工作原理 项目开发使用(公司常用) 借鉴导言 此文借鉴多名CSDN用户博客,并将其博文中关于MQ常用的点,进行了归纳整理 借鉴博 ...

  9. RabbitMQ六种工作模式

    Simple 模式 消息产生着将消息放入队列 消息的消费者 (consumer) 监听 (while) 消息队列,如果队列中有消息,就消费掉,消息被拿走后,自动从队列中删除 (隐患 消息可能没有被消费 ...

  10. rabbitmq direct reply-to 在springAMQP和python之间的使用

    背景 公司的一个项目使用rabbitmq作为broker进行交互,并且数据的查询方法使用RPC模式,RPC Client端使用java编写并使用springAMQP包与rabbitmq交互,在RPC ...

最新文章

  1. fgo日服服务器维护,【FGO日服】活动维护通知(1/10)
  2. win10 没有选项 始终使用此应用打开此文件
  3. 【OkHttp】OkHttp 源码分析 ( OkHttpClient.Builder 构造器源码分析 )
  4. Java+Selenium+sikuli script入门使用
  5. WebSocket使用案例
  6. html的页面宽高变形问题,CSS+div 设计的网页在不同浏览器中变形的问题
  7. LeetCode 658. 找到 K 个最接近的元素(二分查找)
  8. zenmap nmap输出无显示_双路显示控制仪XME-H80-1616价格报价
  9. python中代码块使用缩进来表示对吗_Python 为什么使用缩进来划分代码块?
  10. python安装pip之后 pip命令报错解决方法
  11. 移动端数据爬取和Scrapy框架
  12. 生信-使用NCBI进行目的基因的引物设计
  13. 如何单独编译Linux源代码中的驱动模块,比如NVMe驱动?
  14. 计算机知识竞赛策划案,计算机基础知识竞赛策划书.doc
  15. java cropper_cropper 使用总结
  16. [nrf51][nrf52] nrfconnect 安装说明指南
  17. 川大计算机学院周激流,周激流(电子信息学院)老师 - 四川大学 - 院校大全
  18. js键盘监听事件及键盘键码对照表
  19. 算法系列15天速成——第四天 五大经典查找【上】
  20. 二叉树的基本性质和特殊的二叉树、B树

热门文章

  1. java求幸运数字_Java 第几个幸运数
  2. Spring Security入门到实践(一)HTTP Basic在Spring Security中的应用原理浅析
  3. jQuery 的运行机制(How jQuery Works)
  4. 星辰小队针对于软件“星遇”的第二次10天冲刺——第3天
  5. 大专生出身?java如何导入excel数据
  6. 求连通图的关节点(割点)--C语言
  7. 计算机毕业设计ssh外卖订购网站
  8. 关于CSS3:justify-self,justify-items和justify-content之间的区别
  9. 磁盘的FAT,NTFS,exFAT等格式
  10. 行云管家V4.9正式发布:监控全面提升,首页、主机详情大幅优化,新增大量实用功能...