RabbitMQ的五种工作模式和使用场景

开发者福利!热门AI工具限时免费用 购周边即赠Coding Plan Lite,Claude Code、Cursor等20+工具畅享,效率翻倍! 阅读详情

五种模式的介绍

1.简单模式
在这里插入图片描述

由生产者提供一个消息,消费者去接受这个消息,中间不需要交换器,也不需要消息队列绑定交换器,双方共用同一个chanel信道就能完成消息的传递。
2.工作模式
在这里插入图片描述
由生产者提供一个消息,消费者去接受这个消息,中间不需要交换器,也不需要消息队列绑定交换器,双方共用同一个chanel信道就能完成消息的传递。比起简单模式来说,工作模式只是将消费者的数量增多。
3.发布订阅
在这里插入图片描述
这里需要用到交换器,这个交换器的类型是FANOUT群发,需要指定交换器的名称和类型,但不需要消息队列绑定交换器,由于每个消费者都用自己的信道,所以最好信道由消费者创建,或者提前创建好。
4.路由模式在这里插入图片描述
这里既需要用到交换器,同时消息队列需要绑定到交换器,交换器的类型为DIRECT,交换器会根据消息提供的routing-key与消息队列的key相比较,将消息分配到对应的消息队列中。
5.主题订阅模式
在这里插入图片描述
这个模式和上面的路由模式最大的区别就是这里的消息队列的key支持通配符,等同于可以做模糊查询,这里的*代表一个单词,点代表分隔符,#代表0个或者多个单词,列如消息所带的routingKey如果是lazy.orange.rabbit,这个消息两个消息队列都会收到,这里的A.B.C的模式一般是性格,颜色,种类,是对一个物体的多种描述方式。

常见的使用场景

1.异步处理
如果一个程序同步顺序执行,在前面的进程没有结束之前,后面的进程只能等待,如果使用RabbitMQ
异步处理,能够大幅降低程序执行时间。
2.应用解耦
应用解耦是使用异步请求实现的,一个下订单的过程需要调用多个服务,如果程序同步执行,一旦有一个应用出现问题整个业务就挂掉了,而这个出现问题的应用可能只是并不关键,对数据的一致性要求没有那么高,只需最终一致的,列如新建的订单,付款,库存的减少,这里面库存的减少就属于这种应用,当只是这个应用出现问题,并非必要使整个业务失败,而是使用RabbitMQ先使整个业务完成,后面再来处理库存的问题。
3.流量削峰
秒杀活动,流量过大,服务器压力太大,导致应用挂掉,为了解决这个问题,可以在应用前端加入消息队列。多余的业务直接拒绝掉,保证应用的可用。

相应的问题

提高了系统的复杂性,使数据一致性的问题更加严重,在吞吐量上不如kakfa和RocketMQ,本身也限制了整个应用的最大业务承受量,如果MQ挂掉也会导致整个业务挂掉。

RabbitMQ五种工作模式及实例使用场景 RabbitMQ五种工作模式及实例使用场景 1. 简单模式 1)、做最简单的事情,一个生产者对应一个消费者,RabbitMQ相当于一个消息代理,负责将A的消息转发给B 应用场景:将发送的电子邮件放到消息队列,然后邮件服务在队列中获取邮件并发送给收件人 2. 工作模式 1)、一条消息只会被一个消费者接收; 2)、rabbit采用轮询的方式将消息是平均发送给消费者的; 3)、消费者在处理完某条消息后,才会收到下一条消息应用场景:对于 任务过重或任务较多情况使用工作队列可以提高任务处理的速度。 3.发布 阅读详情

相关推荐

RabbitMQ入门】五种消息模型实战

简单模式在RabbitMQ中是一个单队列单生产者单消费者的模式,主要适用于单纯的任务处理,消息的生产者消费者的削峰填谷能力非常高。但是,在某些场景下,我们希望不同的消息被不同的队列消费,我们就要用的routing路由模式,这种模式是通过一个routingkey来收发消息。Topic类型的交换机与Direct相比,都是可以根据RoutingKey把消息路由到不同的队列,没有本质区别,只不过Topic类型交换机可以让队列在绑定Routing key 的时候使用通配符!与当前交换机进行绑定的所有队列中。

weixin_54459986的博客 2853

RabbitMQ五种模式及使用场景

RabbitMQ基本模式 1.基本模型 2.RabbitMQ应用场景 MQ全称为Message Queue,即消息队列, RabbitMQ是由erlang语言开发,基于AMQP(Advanced Message Queue 高级消息队列协议)协议实现的消息队列,它是一种应用程序之间的通信方法,消息队列在分布式系统开发中应用非常广泛。 开发中消息队列通常有如下应用场景: 1、任务异步处理。 将不需要同步处理的并且耗时长的操作由消息队列通知消息接收方进行异步处理。提高了应用程序的响应时间。 2、应用程序解耦合

M_J_R的博客 4975

MQ的10种经典使用方式

消息队列(MQ)是分布式系统中不可或缺的技术之一。对很多小伙伴来说,刚接触MQ时,可能觉得它只是个“传话工具”,但用着用着,你会发现它简直是系统的“润滑剂”。无论是解耦、削峰,还是异步任务处理,都离不开MQ的身影。下面我结合实际场景,从简单到复杂,逐一拆解MQ的10种经典使用方式,希望对你会有所帮助。消息队列不只是传递消息的工具,更是系统解耦、提升稳定性扩展性的利器。在这10种经典场景中,每一种都能解决特定的业务痛点。

weixin_51582215的博客 1083

RabbitMQ的7种典型使用场景

场景1:单发送单接收 使用场景:简单的发送与接收,没有特别的处理。 一个P向queue发送一个message,一个C从该queue接收message并打印。producer,连接至RabbitMQ Server,声明队列,发送message,关闭连接,退出。 场景2:单发送多接收 使用场景:一个发送端,多个接收端,如分布式的任务派发。为了保证消息发送的可靠性,不丢失消息,使消息持久化了。同时为了防止接收端在处理消息时down掉,只有在消息处理完成后才发送ack消息场景3:Publis.

hudeyong926的专栏 1万+

rabbitmq五种工作模式应用场景

** rabbitmq五种工作模式 ** 简单模式 1个生产者将消息交给默认的交换机(AMQP default) 2 交换机获取消息后交给绑定这个生产者的队列(关系是通过队列名称完成) 3 监听当前队列的消费者获取消息,执行消费逻辑 应用场景:短信,聊天 场景:有一个oa系统,用户通过接收手机验证码进行注册,页面上点击获取验证码后,将验证码放到消息队列,然后短信服务从队列中获取到验证码,并发送给用户 工作模式(轮询) 1 生产者将消息交个交换机 2 交换机交给绑定的队列 3 队列由多个消费者同时监听,

GY4396的博客 1861

RabbitMQ使用场景五种工作模式

RabbitMQ使用场景与六种工作模式rabbitmq的六种工作模式简单模式使用场景工作模式使用场景发布订阅模式使用场景路由模式使用场景主题模式使用场景 rabbitmq的六种工作模式 简单模式 生产者将消息交给默认的交换机,交换机获取消息后交给绑定这个生产者的队列(投递规则为队列名称routing key 相同的队列),监听当前队列的消费者获取信息并执行消费逻辑 使用场景 有一个oa系统,用户通过接收手机验证码进行注册,页面上点击获取验证码后,将验证码放到消息队列,然后短信服务从队列中获取到验证码,并

liyunfei5839的博客 247

RabbitMQ介绍以及五种工作模式

早期出现认证系统类似的提供认证服务; 出现了系统间的通信;并发的高需求 每个前端系统与认证系统的通信强耦合 传递消息,获取返回结果的过程,如果出现网络波动,整个传递数据,计算返回结果的流程重走一遍;需要一种技术,解决通信强耦合; 引入消息队列,实现连接的非阻塞监听,就能解决系统间通信强耦合 高并发情况下,将请求作为消息发送到队列缓存,由后台系统在空闲时慢慢处理; 消息队列解决问题 通信解耦...

Arno的博客 4126

Rabbitmq 五种工作模式

Rabbitmq 五种工作模式 目录 Rabbitmq 五种工作模式 1、简单模式 2、工作模式 3、发布订阅(publish/fanout)模式 4、路由模式(routing/direct) 5、topic主题模式 1、简单模式 一个生产者,一个消费者 工作流程大致如下: (1)生产者将消息发送给交换机; (2)交换机把消息交给绑定的队列hello ...

烟雨gps 265

RabbitMQ五种工作模式

RabbitMQ五种工作模式 1、简单队列 一个生产者对应一个消费者!! 2、work 模式 一个生产者对应多个消费者,但是一条消息只能有一个消费者获得消息!!! 轮询分发就是将消息队列中的消息,依次发送给所有消费者。一个消息只能被一个消费者获取。 3、发布/订阅模式 一个消费者将消息首先发送到交换器,交换器绑定到多个队列,然后被监听该队列的消费者所接收并消费。 ps:X表示交换器,在RabbitMQ中,交换器主要有四种类型:direct、fanout、topic、headers,这里的交换器是 fa

weixin_41882200的博客 1万+

RibbitMQ的五种模式以及使用场景

RibbitMQ的五种模式以及使用场景 一.模式 1.简单模式 生产者p将消息放入消息队列中,消费者c监听队列,队列中一旦有消息了就消费掉,并自动将消息从队列中删除。 1.1 应用场景:邮箱的单发,短信单发等等 2.工作模式 生产者p将消息放入消息队列中,消费者c1,c2监听队列消息,队列中一旦有消息后,c1,c2将通过争抢来获取消息,先到先得。 2.1 应用场景:抢红包 3.发布订阅 publish/subscribe 4.路由模式 routing 5.主题订阅模式 topi...

excellent_yb的博客 670

Rabbit Mq 五种工作模式及实例

前言 在说Rabbit Mq 之前先说一下什么是MQ, MQ为Message Queue 消息队列是应用程序应用程序之间的通信方法 Rabbit Mq是一个开源的,在AMQP(高级消息队列协议)基础上 完整的、可复用的企业消息系统 Rabbit Mq 有五种工作模式(也有人说6种),下面主要对这五种工作模式做分析以及实例 简单模式 简单模式顾名思义,就是很简单,生产者生产,消费者消费,生产者消...

志不强者智不达,言不信者行不果 1452

rabbitmq五种工作模式

1、简单模式 在这里插入图片描述 1个生产者将消息交给默认的交换机(AMQP default) 2 交换机获取消息后交给绑定这个生产者的队列(关系是通过队列名称完成) 3 监听当前队列的消费者获取消息,执行消费逻辑 应用场景:短信,聊天 2、工作模式(资源争抢) 1 生产者将消息交个交换机 2 交换机交给绑定的队列 3 队列由多个消费者同时监听,只有其中一个能够获取这一条消息,形成了资源的争抢,谁的资源空闲大,争抢到的可能越大; 应用场景:抢红包,大型系统的资源调度 3 发布订阅(publish/fanou

huapro.vip的程序人生 3303

详解RabbitMQ五种工作模式

详解RabbitMQ五种工作模式 1 RabbitMQ介绍 1.1 应用场景 ​ MQ全称为Message Queue,即消息队列, RabbitMQ是由erlang语言开发,基于AMQP(Advanced Message Queue 高级消息队列协议)协议实现的消息队列,它是一种应用程序之间的通信方法,消息队列在分布式系统开发中应用非常广泛。RabbitMQ官方地址:http://www.rabbitmq.com/ 开发中消息队列通常有如下应用场景: 1、任务异步处理。 将不需要同步处理的并且耗时长的操

一起来摸鱼 1277

rabbitmq五种工作模式(不包含RPC工作模式

概念: 1.生产者:消息的创造者 2.交换机:其功能就是接收生产者生产出来的消息,并分发消息给相应的消费者 3.消费者:消息的处理方 4.routingkey:路由键,实现交换机按照一定规则分发消息的重要成员 五种工作模式: 准备pom.xml: <project xmlns="http://maven.apache.org/POM/4.0.0" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:schemaLoca

qq_34116044的博客 4206

RabbitMQ工作模式

对应 fanout(广播) 类型的 Exchange,会把所有发送到该 Exchange 的消息路由到所有与它绑定的 Queue 中,不需要做任何判断操作,所以 fanout 类型是所有的交换机类型里面速度最快的。”分隔开的每一段独立的字符串称为一个单词),如 “com.rabbitmq.client”、“java.util.concurrent”、“com.hidden.client”包含一个生产者、一个队列多个消费者,多个消费者绑定到同一个队列上,且一条消息只能被一个消费者消费。

后端 1512

RabbitMQ基本使用

本文介绍了RabbitMQ的基本使用,详细记录了RabbitMQ的具体使用方法

大脑不能为空 1549

rabbitmq几种工作模式_RabbitMQ学习

本篇文章主要介绍了RabbitMQ这种消息队列,从消息队列的概念、应用场景、安装方式到它的核心概念、五种工作模式。在安装的时候推荐使用Docker方式进行安装。重点需要理解的就是消息队列的应用场景、核心概念RabbitMQ五种工作模式,其中用的比较多的就是发布订阅模式、主题模式。Message Queue队列(Queue)是一种常见的数据结构,其最大的特性就是先进先出(Firist In Fi...

weixin_39629947的博客 464

带你玩转RabbitMQ五种队列

一篇文章带你玩转RabbitMQ五种队列,保姆级别讲解五种队列的知识以及应用场景,帮助我们尽快掌握RabbitMQ

一心同学的博客 5122

消息队列_RabbitMQ中的五种工作模式

简单模式 每一个队列,只被一个消费端监听

赵利文的CSDN博客 1393
上一篇: 2021-04-29
lH210
博客等级 码龄5年 0粉丝 5原创
评论
成就一亿技术人!
拼手气红包6.0元
还能输入1000个字符
 
 条评论被折叠 查看
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值