文章目录

  • 什么交换机?
  • 交换机的属性
  • Direct Exchange
  • Topic Exchange
  • Fanout Exchange

什么交换机?

Exchange:接收消息,并根据路由键转发消息所绑定的队列。

  • 蓝色框表示发送消息,主要任务就是把消息投递到交换机,交换机路由消息到指定的队列。
  • 绿色框表示接收消息,客户端和队列建立监听。
  • 中间红色虚线框只要就是RabbitMQ服务端。
  • 中间黄色框就是路由键和一个绑定关系,就是说交换机和队列建立一个绑定,当消息到达了交换机以后,再进入queue1还是queue2的规则主要还是通过RoutingKey。

交换机的属性

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

Direct Exchange

  • 所有发送到Direct Exchange的消息被转发到RouteKey中指定的Queue,即和RouteKey一一对应
  • Direct模式可以使用RabbitMQ自带的Exchange:default Exchange,所以不需要将Exchange进行任何绑定操作,消息传递时,RouteKey必须完全匹配才会被队列接收,否则该消息会被抛弃。
  • 图解:

Topic Exchange

  • 所有发送到Topic Exchange的消息被转发到所有关心RouteKey中指定Topic的Queue上。
  • Exchange将RouteKey和某Topic进行模糊匹配,此时队列需要绑定一个Topic。
    • 符号“#”:匹配一个或多个词,例如“log.#”能够匹配到“log.info.oa”
    • 符号“*”:只匹配一个词,例如“log.*”只会匹配到“log.erro”
  • 图解:

Fanout Exchange

  • 不处理路由键,只需要简单的将队列绑定到交换机上
  • 发送到交换机的消息都会被转发到与该交换机绑定的所有队列上
  • Fanout交换机转发消息是最快的,它不会做各种路由匹配
  • 图解:

Exchange 交换机详解相关推荐

  1. Rabbitmq交换机详解

    rabbitmq交换机 1.作用: 接受生产者的消息,然后根据路由键routingKey把消息投递到跟交换机绑定的对应的队列上 2.属性 Name: 交换机的名称 Type: 交换机的类型,direc ...

  2. rabbitMQ的延迟交换机详解

    1. 延迟交换机主要帮我们解决什么问题? 之前我们关于消息设置过期时间都是在消息本身以及队列的维度上来进行设置,这两个维度都在不同程度上有一些问题 问题一:当我们的业务比较复杂的时候, 需要针对不同的 ...

  3. RabbitMQ Exchange类型详解

    在上一篇文章中,我们知道了RabbitMQ的消息流程如下: 但在具体的使用中,我们还需知道exchange的类型,因为不同的类型对应不同的队列和路由规则. 在rabbitmq中,exchange有4个 ...

  4. 交换机工作原理、MAC地址表、路由器工作原理详解

    一:MAC地址表详解 说到MAC地址表,就不得不说一下交换机的工作原理了,因为交换机是根据MAC地址表转发数据帧的.在交换机中有一张记录着局域网主机MAC地址与交换机接口的对应关系的表,交换机就是根据 ...

  5. 详解H3C交换机“端口安全”功能

    以下内容摘自正在全面热销的最新网络设备图书"豪华四件套"之一--<H3C交换机配置与管理完全手册>(第二版)(其余三本分别是:<Cisco交换机配置与管理完全手册 ...

  6. POE供电交换机技术分析及工作过程详解

    PoE供电是指在以太网中透过双绞线来将电力传输到设备的技术,它无需改动现有的以太网布线基础架构,在为一些基于IP的终端传输数据信号的同时,还能为此类设备提供直流供电.透过这项技术,可以供电给网路电话. ...

  7. 通过串口来控制网管型交换机的操作步骤详解

    之前我们对网管型交换机的三种管理方式简单的给大家介绍了一下,一.通过串口管理:二.通过web管理:三.通过网管软件管理.今天,飞畅科技的小编来为大家详细介绍下通过串口终端配置是如何对网管交换机进行控制 ...

  8. 迪普交换机清空配置_交换机环路详解

    " The more you know the more you know you don't know" 背景 近期在交换机配置中发生了一次接线错误导致交换机环路,从而引发广播风 ...

  9. python中exchange函数使用_python基于exchange函数发送邮件过程详解

    python基于exchange函数发送邮件过程详解 作者: shuzihua 更新时间:2020-11-06 10:40:35 原文链接 1.Python hasattr() 函数 描述 hasat ...

最新文章

  1. python物联网通信_物联网通信RESTDemo示例程序(Python版本)
  2. 经典异或题:汉明距离
  3. python 筛选提取连续多行_没有比这更简单的Python入门案例,用python打印你的宠物小精灵...
  4. 计算机专业技能高考试题素材,计算机技能高考模拟试题
  5. 《go程序设计语言》读书笔记
  6. 《javascript高级程序设计》读书笔记1
  7. 谈学习:合格的编程自学者必须知道的几点
  8. 在不用第三方参数的情况下,交换两个参数的值
  9. pascal voc2012分割标签处理
  10. Win10系统安装失败?用这种方法一键就解决了
  11. Android开发常见问题汇总
  12. CountDownLatch并发编程
  13. 四川省国际科技合作基地(国合基地)申报条件程序
  14. fastjson使用toJSONString时null值不序列化问题
  15. Ubuntu安装Elasticsearch集群及Kibana
  16. python3中生成图片验证码和短信验证码的程序
  17. 基于 python 的单细胞转录因子分析
  18. Tranformer模型与Softmax函数
  19. 【秒懂音视频开发】07_重识音频
  20. 思维导图篇|快思慢想(思考.快与慢)有感

热门文章

  1. unturned服务器重置,《Unturned》服务器建立方法详解
  2. 者称为计算机病毒的,木马有时称为木马病毒,但却不具有计算机病毒的主要特征 答案:我的答案 :错...
  3. 京津冀协同创新与高等教育(上)
  4. timenote时光笔记+android,TimeNote时光笔记
  5. 曾很火的开源项目:腾讯,MySQL分布式解决方案,你看过没
  6. mac上expo start后的lan地址失效,始终是127.0.0.1
  7. iOS使用constantsToExport导出常量无效
  8. 笔迹测试软件准确度,笔迹测试可能比测谎仪更可靠
  9. 安卓android8.0启动器,安卓8.0桌面启动器OO Launcher
  10. 用自有工作站做服务器建网站,服务器搭建工作站