RabbitMQ的5种模式
队列截图,去rabbitMq.com去找学习文档

=============================================================================================================================

==============================================================================================================================
第一种模式:简单模式

缺点:没有实现解耦,比如说购物车和搜索,需要创建两个队列
=================================================================================================================================
第二种模式:work模式

上图注意:只能有一个消费者获取到消息;谁先拿到呢?靠争抢,哪个争抢到给哪个.
应用场景:
比如说现在有一个系统,这个系统作用是写数据到数据库,但是你想如果其他系统都去访问这个系统的话,就会导致本系统的压力变大,
解决这个问题:做一个集群,做写入数据到数据库这件事情,这两个系统做的是同一件事情,他们写数据时不能重复写入数据,其他系统调用这个系统时就可以看做是给他下发任务.做的是不同的事情.
===================================================================================================================================
消息的确认模式

自动确认:例如美团消费,只要消息拿走,不管使用出不出错,就算消费成功
手动确认:顾客使用的优惠券需要商家确认后才算消费成功
==========================================================================================================================
第三种:发布订阅模式(交换机第一种)

将消息发送到了交换机,然后上下两个队列绑定到了交换机,然后消息发送到队列,每个队列有一个消费者


结果:发一个消息能够通知多个消费者
===========================================================================================================================
第四种模式:路由模式(routing)(交换机第二种)


交换机类型type=direct路由模式
消费者一:队列一绑定到交换机时指定了一个路由key叫error
消费者二:指定了三个
如果现在发送error的消息,消费者一和消费者二都能拿到
如果发送info消息,只有消费者二能拿到;
通过图示可以看出,有选择性的来接收消息
===================================================================================================================================
第五种:主题模式(交换机第三种)

#:匹配一个或者多个词
*:匹配一个词
通配符模式比较路由模式:
改进:可以匹配key
仔细看上图!!!

RabbitMQ的5种模式的更多相关文章
- RabbitMQ详解(三)------RabbitMQ的五种模式
RabbitMQ详解(三)------RabbitMQ的五种模式 1.简单队列(模式) 上一篇文章末尾的实例给出的代码就是简单模式. 一个生产者对应一个消费者!!! pom.xml 必须导入Rab ...
- Rabbitmq的五种模式和案例
消息生产者p将消息放入队列 消费者监听队列,如果队列中有消息,就消费掉,消息被拿走后,自动从队列删除 (缺点:消息可能没有被消费者正确处理,已经消失了,无法恢复) 应用场景:聊天室 1.引入依赖 &l ...
- Rabbitmq交换机三种模式介绍
1.topic 将路由键和某模式进行匹配.此时队列需要绑定要一个模式上.符号“#”匹配一个或多个词,符号“*”匹配不多不少一个词.因此“abc.#”能够匹配到“abc.def.ghi”,但是“abc. ...
- Rabbitmq的几种交换机模式
Rabbitmq的核心概念(如下图所示):有虚拟主机.交换机.队列.绑定: 交换机可以理解成具有路由表的路由程序,仅此而已.每个消息都有一个称为路由键(routing key)的属性,就是一个简单的字 ...
- RabbitMQ~说说Exchange的几种模式
RabbitMQ里的Exchange提供了四种模式,或者叫它类型,它们是fanout,direct,topic和header,其中前三种模式我们用的比较多,所有我们主要介绍前3种! Direct 任何 ...
- 消息队列rabbitmq的五种工作模式(go语言版本)
前言:如果你对rabbitmq基本概念都不懂,可以移步此篇博文查阅消息队列RabbitMQ 一.单发单收 二.工作队列Work Queue 三.发布/订阅 Publish/Subscribe 四.路由 ...
- RabbitMQ传输原理、五种模式
本文代码基于SpringBoot,文末有代码连接 .首先是一些在Spring Boot的一些配置和概念,然后跟随代码看下五种模式 MQ两种消息传输方式,点对点(代码中的简单传递模式),发布/订阅(代码 ...
- rabbitmq五种模式详解(含实现代码)
一.五种模式详解 1.简单模式(Queue模式) 当生产端发送消息到交换机,交换机根据消息属性发送到队列,消费者监听绑定队列实现消息的接收和消费逻辑编写.简单模式下,强调的一个队列queue只被一个消 ...
- RabbitMQ的六种工作模式
一.基于erlang语言: 是一种支持高并发的语言 RabbitMQ的六种工作模式: 1.1 simple简单模式 消息产生着§将消息放入队列 消息的消费者(consumer) 监听(while) 消 ...
随机推荐
- ALV报表——选择屏幕变量赋值
ABAP选择屏幕变量赋值 运行效果: 代码: *&---------------------------------------------------------------------* ...
- ArcGIS SOE开发异常之 ClassFactory cannot supply requested class
最近SOE开发一个功能,辛辛苦苦写完, 异常: ClassFactory cannot supply requested class 辛苦解决: 百度一下,描述这个问题的帖子很多,不过内容基本一致.大 ...
- javascript之typeof
定义和用法
- MACD波段选股
MA12:=MA(C,); {股价连续3天站稳12日均线,且12日均线走平或向上} C1:=EVERY(C>MA12,) AND MA12>=REF(MA12,); {MACD金叉,且DI ...
- php-获取某个文件夹下面的文件数量
/** * 获取文件夹下文件的数量 * @param $url 传入一个url如:/apps/web * @return int 返回文件数量 */ public function getFileNu ...
- 关于utf8mb4的使用
针对mysql数据库存储一些特殊字符或者emoji的字符,所需要的编码类型.实际上基于efcore框架的情况下,codefirst自动迁移生成的数据库的默认编码格式,就是utf8mb4,以前的时候记得 ...
- vue混入 (mixin)的使用
混入 (mixin) 提供了一种非常灵活的方式,来分发 Vue 组件中的可复用功能.一个混入对象可以包含任意组件选项.当组件使用混入对象时,所有混入对象的选项将被“混合”进入该组件本身的选项. 使用示 ...
- J.U.C之读写锁:ReentrantReadWriteLock
此篇博客所有源码均来自JDK 1.8 重入锁ReentrantLock是排他锁,排他锁在同一时刻仅有一个线程可以进行访问,但是在大多数场景下,大部分时间都是提供读服务,而写服务占有的时间较少.然而读服 ...
- J.U.C之重入锁:ReentrantLock
此篇博客所有源码均来自JDK 1.8 ReentrantLock,可重入锁,是一种递归无阻塞的同步机制.它可以等同于synchronized的使用,但是ReentrantLock提供了比synchro ...
- Qt布局
常用的布局方法 1. 水平布局类 QHBoxLayout 2. 垂直布局类 QVBoxLayout 3. 网格布局类 QGridLayout QHBoxLayout 对象横向排列开 QVBoxLayo ...