RabbitMQ支持五种消息传递类型,分别如下图所示:

上图中显示6中消息队列分别为: 
1、简单队列

一个生产者将消息放到队列中,一个消费者监听队列

2、工作队列(Work queues)

一个生产者生产的消息放到队列中,多个消费者监听队列

3、发布订阅模式(Publish/Subscribe)

生产者将消息发送到一个交换机(Exchange)中,交换机将消息分发到所有与之绑定的队列中,消费者监听自己的某个消息队列

4、路由模式(Routing)

生产者生产的消息发送到交换机中,交换机根据消息的key,进行识别将不同的消息发送到与之绑定的消息队列中。消费者监听消息队列。 
例如:商品的新增、修改、删除操作,都是商品消息,但由于有不同的操作,不同的业务系统只需监听特定的操作即可

5、主题模式(Topics)

生产者生产的消息发送到交换机中,交换机根据消息的key,通过对key通配符的模式进行识别将不同的消息发送到与之绑定的消息队列中。消费者监听消息队列。

6、RPC 
由于该模式使用较少,不做讲解

Rabbit五种消息队列学习(一) – 总述的更多相关文章

  1. Rabbit五种消息队列学习(二) – 简单队列

    队列结构图 P:消息的生产者 C:消息的消费者 红色:队列 生产者将消息发送到队列,消费者从队列中获取消息. 测试 1.连接MQ public static Connection getConnect ...

  2. RabbitMQ五种消息队列学习(三)–Work模式

    由于在实际应用中,简单队列模型无法解决很多实际问题,而且生产者和消费者是一对一的关系.模型较为单一.故引入Work模式. 结构图 一个生产者.多个消费者. 一个消息只能被一个消费者获取. 测试实现:  ...

  3. 学习ActiveMQ(五):activemq的五种消息类型和三种监听器类型

    一.前面我们一直发送的是字符串类型,其实activemq一共支持五种消息类型: 1.String消息类型:发送者:消费者: 1.String消息类型:发送者:消费者: 1.String消息类型:发送者 ...

  4. RabbitMQ,RocketMQ,Kafka 几种消息队列的对比

    常用的几款消息队列的对比 前言 RabbitMQ 优点 缺点 RocketMQ 优点 缺点 Kafka 优点 缺点 如何选择合适的消息队列 参考 常用的几款消息队列的对比 前言 消息队列的作用: 1. ...

  5. rabbitmq五种消息模型整理

    目录 0. 配置项目 1. 基本消息模型 1.1 生产者发送消息 1.2 消费者获取消息(自动ACK) 1.3 消息确认机制(ACK) 1.4 消费者获取消息(手动ACK) 1.5 自动ACK存在的问 ...

  6. PHP消息队列学习

    在我们平常网站设计时,会遇到“给用户群发短信”,“商城订单系统大批量订单处理”,“商城秒杀活动”等需求,这些功能,都有一个共同的特点:就是在面对高迸发的同时,必须要保证系统处理数据的有效性.那么如何处 ...

  7. 17.1-uC/OS-III消息管理(两种消息队列)

    1.使用消息队列 消息队列函数: 函数名 功能 OSQCreate() 创建一个消息队列 OSQDel() 删除一个消息队列 OSQFlush() 清空一个消息队列 OSQPend() 任务等待消息 ...

  8. NSQ:分布式消息队列学习记录

    参考资料: NSQ:分布式的实时消息平台 初识NSQ分布式实时消息架构 深入NSQ之旅 nsq topic和channel的区别

  9. RabbitMQ,Apache的ActiveMQ,阿里RocketMQ,Kafka,ZeroMQ,MetaMQ,Redis也可实现消息队列,RabbitMQ的应用场景以及基本原理介绍,RabbitMQ基础知识详解,RabbitMQ布曙

    消息队列及常见消息队列介绍 2017-10-10 09:35操作系统/客户端/人脸识别 一.消息队列(MQ)概述 消息队列(Message Queue),是分布式系统中重要的组件,其通用的使用场景可以 ...

随机推荐

  1. Dicom文件转mhd,raw文件格式

    最近在整理与回顾刚加入实验室所学的相关知识,那会主要是对DICOM这个医疗图像进行相应的研究,之前有一篇博客已经讲述了一些有关DICOM的基本知识,今天这篇博客就让我们了解一下如何将Dicom文件转为 ...

  2. java接口签名(Signature)实现方案续

    一.前言 由于之前写过的一片文章 (java接口签名(Signature)实现方案 )收获了很多好评,此次来说一下另一种简单粗暴的签名方案.相对于之前的签名方案,对body.paramenter.pa ...

  3. Java 并发工具包 | J.U.C

    不知道大家还有没有印象,上次我们已经说过了,我们为了实现集合相关类的线程安全,JDK 提供了一套同步容器,也就是 Vector,Hashtable,还有一个 Collections 工具类中的几个方法 ...

  4. Linux学习笔记 1 环境变量 2 vi命令

    1 环境变量篇 1.1  修改 查看 生效 系统环境变量 1 涉及系统环境变量的文件   -->  .bash_profile --> /etc/profile 2 该文件位置 /root ...

  5. 利用nginx,腾讯云免费证书制作https

    之前一直在研究,https怎么弄.最近看到了腾讯云提供的免费得ssl证书,寻思把网站弄成https. 首先先去腾讯云购买一个免费得证书. 点击后填写内容, 然后下载证书 解压证书就可以看到,提供四种方 ...

  6. Windows下更改MySQL 数据库文件存放位置

    更改默认的mysql数据库目录 将 C:\Documents and Settings\All Users\Application Data\MySQL\MySQL Server 5.1\data 改 ...

  7. refine OpenRefine 3.0

    refine 英[rɪˈfaɪn] 锐烦嗯 美[rɪˈfaɪn] vt. 提炼; 改善; 使高雅; == explore 英 [ɪkˈsplɔ:(r)] 一颗四普罗 美 [ɪkˈsplɔr] vi.勘 ...

  8. tomcat端口被占用的问题

    在dos下,输入  netstat   -ano|findstr  8080  //说明:查看占用8080端口的进程 显示占用端口的进程 taskkill  /pid  6856  /f  //说明, ...

  9. Java几种常见的编码方式

    几种常见的编码格式 为什么要编码 不知道大家有没有想过一个问题,那就是为什么要编码?我们能不能不编码?要回答这个问题必须要回到计算机是如何表示我们人类能够理解的符号的,这些符号也就是我们人类使用的语言 ...

  10. 关于EL表达式的学习总结

    一.EL表达式简介 EL 全名为Expression Language.EL主要作用: 1.获取数据 EL表达式主要用于替换JSP页面中的脚本表达式,以从各种类型的web域 中检索java对象.获取数 ...