RabbitMQ五种工作模式

1、简单队列


一个生产者对应一个消费者!!

2、work 模式


一个生产者对应多个消费者,但是一条消息只能有一个消费者获得消息!!!
轮询分发就是将消息队列中的消息,依次发送给所有消费者。一个消息只能被一个消费者获取。

3、发布/订阅模式


一个消费者将消息首先发送到交换器,交换器绑定到多个队列,然后被监听该队列的消费者所接收并消费。

ps:X表示交换器,在RabbitMQ中,交换器主要有四种类型:direct、fanout、topic、headers,这里的交换器是 fanout。下面我们会详细介绍这几种交换器。
  两个消费者获得了同一条消息。即就是,一个消息从交换机同时发送给了两个队列中,监听这两个队列的消费者消费了这个消息;
如果没有队列绑定交换机,则消息将丢失。因为交换机没有存储能力,消息只能存储在队列中。

4、路由模式


生产者将消息发送到direct交换器,在绑定队列和交换器的时候有一个路由key,生产者发送的消息会指定一个路由key,那么消息只会发送到相应key相同的队列,接着监听该队列的消费者消费消息。

也就是让消费者有选择性的接收消息。
路由模式,是以路由规则为导向,引导消息存入符合规则的队列中。再由队列的消费者进行消费的。

5、主题模式


  上面的路由模式是根据路由key进行完整的匹配(完全相等才发送消息),这里的通配符模式通俗的来讲就是模糊匹配。

符号“#”表示匹配一个或多个词,符号“*”表示匹配一个词。
  与路由模式相似,但是,主题模式是一种模糊的匹配方式。

6.工作模式总结

​ 这五种工作模式,可以归为三类:

生产者,消息队列,一个消费者;
生产者,消息队列,多个消费者;
生产者,交换机,多个消息队列,多个消费者;

7、四种交换器

1、direct 如果路由键完全匹配的话,消息才会被投放到相应的队列。

2、fanout 当发送一条消息到fanout交换器上时,它会把消息投放到所有附加在此交换器上的队列。

3、topic 设置模糊的绑定方式,“*”操作符将“.”视为分隔符,匹配单个字符;“#”操作符没有分块的概念,它将任意“.”均视为关键字的匹配部分,能够匹配多个字符。

​ 4、header headers 交换器允许匹配 AMQP 消息的 header 而非路由键,除此之外,header 交换器和 direct 交换器完全一致,但是性能却差很多,因此基本上不会用到该交换器

RabbitMQ五种工作模式相关推荐

  1. 基于SpringCloud开发rabbitmq五种工作模式实现

    工作模式 1. RabbitMQ消息模型 2. SpringAMQP 2.1. Basic Queue 简单队列模型 2.1.1.消息发送 2.1.2.消息接收 2.1.3.测试 2.2. WorkQ ...

  2. 快速入门RabbitMQ(详细)第二篇:RabbitMQ五种工作模式的使用及总结

    4. RabbitMQ工作模式 4.1. Work queues工作队列模式 Work Queues 与入门程序的 简单模式 相比,多了一个或一些消费端,多个消费端共同消费同一个队列中的消息.应用场景 ...

  3. RabbitMQ介绍以及五种工作模式

    早期出现认证系统类似的提供认证服务; 出现了系统间的通信;并发的高需求 每个前端系统与认证系统的通信强耦合 传递消息,获取返回结果的过程,如果出现网络波动,整个传递数据,计算返回结果的流程重走一遍;需 ...

  4. rabbitmq几种工作模式_RabbitMQ的六种工作模式总结

    精品推荐 国内稀缺优秀Java全栈课程-Vue+SpringBoot通讯录系统全新发布! 作者:侧身左睡 https://www.cnblogs.com/xyfer1018/p/11581511.ht ...

  5. RabbitMQ入门(简介、搭建环境、五种工作模式)介绍

    1. RabbitMQ介绍 RabbitMQ是一个由erlang开发的AMQP(Advanced Message Queue )的开源实现.AMQP 的出现其实也是应了广大人民群众的需求,虽然在同步消 ...

  6. 消息队列(四)——rabbitMQ四种工作模式

    RabbitMQ工作模式 模式总结: 1.简单模式helloworld 一个生产者,一个消费者,不需要交换机(使用默认交换机) 2.工作队列模式Work Queue 一个生产者,多个消费者(竞争关系) ...

  7. RabbitMQ 6种工作模式

    2019独角兽企业重金招聘Python工程师标准>>> 1.Work queues 2.Publish/Subscribe 3.Routing 4.Topics 5.Header 6 ...

  8. rabbitmq几种工作模式_RabbitMQ六种队列模式-简单队列模式

    在官网的教程中,描述了如上六类工作队列模式: 简单队列模式:最简单的工作队列,其中一个消息生产者,一个消息消费者,一个队列.也称为点对点模式. 工作模式:一个消息生产者,一个交换器,一个消息队列,多个 ...

  9. RabbitMQ七种工作模式实现测试代码

    所有工作模式依赖都相同 <dependencies><!--RabbitMQ的客户端依赖--><dependency><groupId>com.rabb ...

最新文章

  1. 计算机网络概述---传输层 UDP和TCP
  2. Java中读取控制台输入
  3. Java 最坑爹的 10 大功能点!
  4. 文档扫描OCR识别-1(python)
  5. JS打开新窗口的代码window.showModalDialog()
  6. pgsql中float4导致java程序精度丢失_Java基础系列02
  7. Java千百问_03基本语法(002)_java都有哪些关键字
  8. 苹果发布iOS 15.3正式版 修复了Safari浏览器漏洞
  9. [ZJOI2014]力
  10. 论文笔记_S2D.34-2015-CVPR_从单张图像进行深度估计的深度卷积神经场
  11. 过程生产excel_通用Excel做销售订单动态展示板
  12. 关于回归中国、反垄断等问题,Google CEO 亲口回应了
  13. 安装软件提示重启计算机,安装西门子软件时提示重启电脑的解决办法
  14. 64位处理器_计算机基础:处理器
  15. 居家办公,无需公网IP远程桌面内网电脑【免费内网穿透】
  16. 秋风中的----《情书》
  17. 智能外呼系统 OKCC被盗打后安装防护系统还有用吗?
  18. redis 学习参考网站(中文官方网站)
  19. nginx本地服务器的搭建(保姆式教学)
  20. IPCC summary

热门文章

  1. 银行外包996,骑驴找马要跳槽
  2. Linux学习(三):管道相关命令
  3. 隐私公链Findora全景观察
  4. 前端---HTML QQ空间主页制作
  5. 计算机英语名词简释(轉載)
  6. 线性回归模型(最小二乘法模型)诊断--R语言
  7. Mybatis-笔记1
  8. mysql:取group by第一条数据
  9. [转]触乐独家:揭秘愈演愈烈的苹果“做号退款”生态圈
  10. 把款软件可以测试双显卡,以进步之名! APU双显卡的混交测试