RabbitMQ 提供了 6 种消息模型,分别为:单生产单消费模型(Hello World)、消息分发模型(Work queues)、Fanout 消息订阅模式(Publish/Subscribe)、Direct 路由模式(Routing)、Topic 匹配模式(Topic)、RPC 模式(RPC)。

本篇内容包括:RabbitMQ 6 种消息模型、RabbitMQ 6 种消息模型介绍


文章目录

  • 一、RabbitMQ 6 种消息模型
  • 二、RabbitMQ 6 种消息模型介绍
    • 1、单生产单消费模型(Hello World)
    • 2、消息分发模型(Work queues)
    • 3、Fanout 订阅模型-消息订阅模式(Publish/Subscribe)
    • 4、Direct 订阅模型-路由模式(Routing)
    • 5、Topic 订阅模型-匹配模式(Topic)
    • 6、RPC 远程过程调用(RPC)

一、RabbitMQ 6 种消息模型

RabbitMQ 提供了 6 种消息模型,分别为:单生产单消费模型(Hello World)、消息分发模型(Work queues)、Fanout 消息订阅模式(Publish/Subscribe)、Direct 路由模式(Routing)、Topic 匹配模式(Topic)、RPC 远程过程调用(RPC)。

如下图所示,其中 1、2 模型(单生产单消费模型与消息分发模型)都是较为简单的消费模型;3、4、5 模型三种都属于订阅模型,只不过进行路由的方式不同,第 6 种属于是 RPC,并不是 MQ。


二、RabbitMQ 6 种消息模型介绍

1、单生产单消费模型(Hello World)

单生产单消费模型,即基本消息模型或简单消费模型,即完成基本的一对一消息转发。

2、消息分发模型(Work queues)

在消息分发模型,多个收听者监听一个队列。

3、Fanout 订阅模型-消息订阅模式(Publish/Subscribe)

订阅模型-消息订阅模式,生产者将消息发送到 Exchange,Exchange 再转发到与之绑定的 Queue中,每个消费者再到自己的 Queue 中取消息。

4、Direct 订阅模型-路由模式(Routing)

订阅模型-路由模式,此时生产者发送消息时需要指定 RoutingKey,即路由 Key,Exchange 接收到消息时转发到与 RoutingKey 相匹配的队列中。

5、Topic 订阅模型-匹配模式(Topic)

订阅模型-匹配模式,相比于前两种订阅模型,是更细致的分组,允许 在RoutingKey 中使用匹配符

  • *:匹配一个单词
  • #:匹配0个或多个单词

6、RPC 远程过程调用(RPC)

RPC 远程过程调用,是客户端与服务器之间是完全解耦的,即两端既是消息的发送者也是接受者。

RabbitMQ:消息模型相关推荐

  1. RabbitMQ消息模型详解

    目录 一.消息队列 什么是消息队列 AMQP和JMS 常见MQ产品 二.RabbitMQ 三.五种消息模型 四.简单消息模型 代码演示 获取连接 生产者 消费者 手动ACK 五.工作模式 代码演示: ...

  2. RabbitMQ消息模型之FanoutExchange消息模型实战

    前面我们学习了RabbitMQ的核心基础组件,了解了基本消息模型由队列.交换机.路由构成.而在RabbitMQ的核心组件体系中,主要有4种消息模型:基于HeadersExchange.DirectEx ...

  3. RabbitMQ快速入门--消息模型介绍

    RabbitMQ消息模型 RabbitMQ官方提供了5个不同的Demo示例,对应了不同的消息模型:

  4. Python实现RabbitMQ中6种消息模型(转)

    RabbitMQ与Redis对比 ​ RabbitMQ是一种比较流行的消息中间件,之前我一直使用redis作为消息中间件,但是生产环境比较推荐RabbitMQ来替代Redis,所以我去查询了一些Rab ...

  5. RabbitMQ之五种消息模型

    首先什么是MQ MQ全称是Message Queue,即消息对列!消息队列是典型的:生产者.消费者模型.生产者不断向消息队列中生产消息,消费者不断的从队列中获取消息.因为消息的生产和消费都是异步的,而 ...

  6. RabbitMQ消息队列:发布/订阅(Publish/Subscribe)

    2019独角兽企业重金招聘Python工程师标准>>> 前面我们把每个Message都是deliver到某个单一的Consumer.今天我们将了解如何把同一个Message deli ...

  7. Springclould D3 RabbitMQ消息队列

    这里的支付服务是指支付成功后的后续操作(支付成功后才会产生订单以及一系列的操作)3. 也就是说只有支付成功后请求才会被发送到这个服务,如果支付失败,在第一步调用接口时就会返回失败4. 这里要表示的就是 ...

  8. RabbitMQ支持的消息模型

    一.rabbitMQ支持的消息模型如下 第一种模型(直连) 在上图的模型中,有以下概念: P:生产者,也就是要发送消息的程序 C:消费者:消息的接受者,会一直等待消息到来. queue:消息队列,图中 ...

  9. SpringBoot整合RabbitMQ 实现五种消息模型

    目录 SpringBoot中使用RabbitMQ 搭建初始环境 引入依赖 配置配置文件 测试类 注入 rabbitTemplate 消息队列RabbitMQ之五种消息模型 第一种直连模型使用 开发生产 ...

  10. RabbitMQ 基本消息模型和消息确认机制

    ​01 前言 关于 RabbitMQ 服务器的安装,本章节不做介绍,请培养个人动手能力,自行百度解决.RabbitMQ 成功安装后(win 版),浏览器输入:localhost:15672,则可以进入 ...

最新文章

  1. 关于分布式系统的数据一致性问题(一)
  2. halcon车牌识别完整源码_基于chineseocr_lite的身份证、火车票、车牌等中文OCR文字识别...
  3. VC安装证书到指定CSP
  4. java调用siri 语言_如何更改Siri的声音,口音,性别和语言
  5. php strcmp函数用法,php字符串比较函数用法小结(strcmp,strcasecmp,strnatcmp及strnatcasecmp)...
  6. 赠书 | 如何建设数据中台?看这份企业数据能力测评就够了!
  7. 每天一算:Two Sum II
  8. Centos7.0升级python 2.x到3.x
  9. matlab后处理保存avi动画
  10. Java JDK文档下载
  11. 《C专家编程》学习笔记(对链接的思考)
  12. c++17之结构化绑定
  13. 回顾一年的工作历程_但回首这一年来的工作经历
  14. php中hr标签的用法,HTML: hr 标签
  15. PHP基础知识【大纲】
  16. TL-WR941N救砖记
  17. 段永平“徒孙”沈义人:30岁当OPPO副总裁,取代刘强东成宿迁之光
  18. 昨天晚上的直播都聊了啥?
  19. cms开发(CMS开发)
  20. 分析机械行业信息化应用给企业带来哪些改变

热门文章

  1. C++ 中打开 exe 文件
  2. mysql计算结果取整_Sql 获取向上取整、向下取整、四舍五入取整的实例(转)
  3. BD15AAANB10派克伺服阀
  4. 鼠标垫测试软件,百款鼠标垫测试(项目)
  5. Word 自动更改题注章节编号格式“图一.1”为“图1.1”
  6. 反射:获取Class类的三种方法
  7. 让机器人飞入寻常百姓家,优必选这三步棋很关键
  8. [19/05/14-星期二] HTML_body标签(列表标签和图片标签)
  9. Harbor2.2 用户角色权限速查
  10. 微信公众号接口类(PHP版本)