iis服务器助手广告广告
返回顶部
首页 > 资讯 > 后端开发 > JAVA >【RabbitMQ】什么是RabbitMQ?RabbitMQ有什么用?应用场景有那些?
  • 718
分享到

【RabbitMQ】什么是RabbitMQ?RabbitMQ有什么用?应用场景有那些?

rabbitmqjava中间件MQ 2023-08-31 10:08:34 718人浏览 安东尼
摘要

目录 一、什么是RabbitMQ? 二、RabbitMQ是干什么的? 三、RabbitMQ的常见作用有那些? 四、RabbitMQ的应用场景有那些? 场景一:用户订单,库存处理。【服务间解耦】 场景二:用户注册,发送手机短信,邮件。【实现异

目录

一、什么是RabbitMQ?

二、RabbitMQ是干什么的?

三、RabbitMQ的常见作用有那些?

四、RabbitMQ的应用场景有那些?

场景一:用户订单,库存处理。【服务间解耦】

场景二:用户注册,发送手机短信,邮件。【实现异步通信】

场景三:商品秒杀和抢购。【流量削峰】


一、什么是RabbitMQ

答:RabbitMQ简称MQ是一套实现了高级消息队列协议的开源消息代理软件,简单来说就是一个消息中间件。是一种程序对程序的通信方法,其服务器也是以高性能、健壮以及可伸缩性出名的Erlang语言编写而成。


二、RabbitMQ是干什么的?

答:RabbitMQ简单来说就是一个消息队列中间件,用来保存消息和传递消息的一个容器。在此过程中充当一个中间人的作用。

 而队列的主要目的就是提供正确的路由来保证消息的传递;如果发送消息时消费者不可用的话,默认情况下该消息将会一直被存储在队列中,直到消费者消费为止。

那么同时呢,如果设置了消息存活的时间,即消息的有效期。在此有效期间消息如果还没有被消费的话,那么该消息就会变成死信,由死信交换机接收。而绑定死信交换机的队列则称为死信队列。


三、RabbitMQ的常见作用有那些?

答:RabbitMQ的常见作用有三种,分别是服务间解耦、实现异步通信、流量削峰

主要实现了消费者和生产者之间的解耦,发送异步消息,高并发访问解决流量削锋等问题。实现高性能,高可用,可伸缩和最终一致性架构。是大型分布式系统不可缺少的中间件

常见的应用常见有:用户订单,库存处理;用户注册,发送手机短信邮件;商品秒杀和抢购等...


四、RabbitMQ的应用场景有那些?

场景一:用户订单,库存处理。【服务间解耦】

使用MQ前:系统正常时,用户下单,订单系统调用库存系统进行删减操作,操作成功,将成返回消息,提醒下单成功。系统异常时,库存系统将无法访问,导致订单删减操作无法执行,最终导致下单失败。

使用MQ后:订单系统和库存系统之间不在互相影响,独立运行,达到了应用解耦的目的。订单系统只需要将下单消息写入MQ,就可以直接执行下一步操作。这时即使库存系统出现异常也不会影响订单系统的操作,且下单的库存删减记录,将会被永久保存到MQ中,直到库存系统恢复正常,从MQ中订阅下单消息,进行消费成功为止。

使用MQ前:

 使用MQ后:

场景二:用户注册,发送手机短信,邮件。【实现异步通信】

使用MQ前:整个操作流程,全部在主线程完成。点击用户注册 --》 入库添加用户 --》发送邮件 --》发送短信。每一步都需要等待上一步完成后才能执行。且每一步操作的响应时间不固定,如果请求过多,会导致主线程请求耗时很长,响应慢,甚至会导致死机的情况出现,严重影响了用户的体验。

使用MQ后:主线程只需要处理耗时较低的入库操作,然后把需要处理的消息写进MQ消息队列中,然后由不同的独立的邮件系统和发短信系统,同时订阅消息队列中的消息进行消费。这样通过消息队列作为一个中间人去保存和传递消息,不仅仅耗时低消耗的资源也很少且单个服务器能够承受的并发请求将更多。

场景三:商品秒杀和抢购。【流量削峰】

流量削峰是消息队列中常用的场景 一般在秒杀或团购活动中使用广泛。

使用MQ前:对于秒杀、抢购活动,用户访问所产生的流量会很大,甚至会在同一时间段出现上万上亿条请求,这股瞬间的流量暴涨,我们的应用系统配置是无法承受的,会导致系统直接崩溃死机。

例如:A系统平时每秒请求100个,系统稳定运行; 但是晚上8点有秒杀活动 ,每秒并发增至1万条 ,系统最大处理每秒1000条 于是导致系统崩溃。 

使用MQ后:我们在大量用户进行秒杀请求时,将那个巨大的流量请求拒在系统业务处理的上层,并将其转移至MQ中,而不是直接涌入我们的接口。在这里MQ消息队列起到了缓存作用。

例如:100万用户在高峰期,每秒请求5000个,将这5000个请求写入MQ系统每秒只能处理2000请求,因为Mysql只能处理2000个请求 ; 系统每秒拉取2000个请求 不超过自己的处理能力即可。

使用MQ前:

使用MQ后:


 写到最后

四季轮换,已经数不清凋零了多少, 愿我们往后能向心而行,一路招摇胜!

🐋 你的支持认可是我创作的动力

💟 创作不易,不妨点赞💚评论❤️收藏💙一下

😘 感谢大佬们的支持,欢迎各位前来不吝赐教

来源地址:https://blog.csdn.net/zsy3757486/article/details/126941322

--结束END--

本文标题: 【RabbitMQ】什么是RabbitMQ?RabbitMQ有什么用?应用场景有那些?

本文链接: https://www.lsjlt.com/news/385227.html(转载时请注明来源链接)

有问题或投稿请发送至: 邮箱/279061341@qq.com    QQ/279061341

本篇文章演示代码以及资料文档资料下载

下载Word文档到电脑,方便收藏和打印~

下载Word文档
猜你喜欢
  • 【RabbitMQ】什么是RabbitMQ?RabbitMQ有什么用?应用场景有那些?
    目录 一、什么是RabbitMQ? 二、RabbitMQ是干什么的? 三、RabbitMQ的常见作用有那些? 四、RabbitMQ的应用场景有那些? 场景一:用户订单,库存处理。【服务间解耦】 场景二:用户注册,发送手机短信,邮件。【实现异...
    99+
    2023-08-31
    rabbitmq java 中间件 MQ
  • RabbitMQ使用场景是什么
    这篇文章主要介绍“RabbitMQ使用场景是什么”,在日常操作中,相信很多人在RabbitMQ使用场景是什么问题上存在疑惑,小编查阅了各式资料,整理出简单好用的操作方法,希望对大家解答”RabbitMQ使用场景是什么”的疑惑有所帮助!接下来...
    99+
    2023-06-26
  • RabbitMQ原理以及使用场景是什么
    本篇文章给大家分享的是有关RabbitMQ原理以及使用场景是什么,小编觉得挺实用的,因此分享给大家学习,希望大家阅读完这篇文章后可以有所收获,话不多说,跟着小编一起来看看吧。一. RabbitMQ 简介MQ...
    99+
    2024-04-02
  • RabbitMQ消息队列的应用场景有哪些
    RabbitMQ是一个高性能的开源消息中间件,它可以在分布式系统中传递和存储大量的消息。它的应用场景非常广泛,包括但不限于以下几个方...
    99+
    2023-09-20
    rabbitmq
  • RabbitMQ和Kafka有什么不同
    这篇文章主要讲解了“RabbitMQ和Kafka有什么不同”,文中的讲解内容简单清晰,易于学习与理解,下面请大家跟着小编的思路慢慢深入,一起来研究和学习“RabbitMQ和Kafka有什么不同”吧! # ...
    99+
    2024-04-02
  • rabbitmq中routingkey的作用是什么
    这篇文章主要为大家展示了“rabbitmq中routingkey的作用是什么”,内容简而易懂,条理清晰,希望能够帮助大家解决疑惑,下面让小编带领大家一起研究并学习一下“rabbitmq中routingkey的作用是什么”这篇文章吧。对于消息...
    99+
    2023-06-15
  • RabbitMQ 的七种队列模式和应用场景
    目录七种模式介绍与应用场景 简单模式(Hello World)工作队列模式(Work queues)订阅模式(Publish/Subscribe)路由模式(Routing)...
    99+
    2024-04-02
  • redis和rabbitmq区别是什么
    这篇文章主要介绍redis和rabbitmq区别是什么,文中介绍的非常详细,具有一定的参考价值,感兴趣的小伙伴们一定要看完!           ...
    99+
    2024-04-02
  • rabbitmq同步调用的方法是什么
    RabbitMQ是一个消息中间件,它主要用于在不同的应用程序之间传递消息。它支持异步消息传递,但不直接支持同步调用。然而,可以使用一...
    99+
    2023-10-26
    rabbitmq
  • RabbitMQ安装的方法是什么
    本篇内容介绍了“RabbitMQ安装的方法是什么”的有关知识,在实际案例的操作过程中,不少人都会遇到这样的困境,接下来就让小编带领大家学习一下如何处理这些情况吧!希望大家仔细阅读,能够学有所成!Rabbit...
    99+
    2024-04-02
  • RabbitMQ的工作原理是什么
    这篇文章给大家介绍RabbitMQ的工作原理是什么,内容非常详细,感兴趣的小伙伴们可以参考借鉴,希望对大家能有所帮助。RabbitMQ简介在介绍RabbitMQ之前实现要介绍一下MQ,MQ是什么?MQ全称是Message Queue,可以理...
    99+
    2023-06-19
  • Linux下RabbitMQ常用命令有哪些
    这篇文章将为大家详细讲解有关Linux下RabbitMQ常用命令有哪些,小编觉得挺实用的,因此分享给大家做个参考,希望大家阅读完这篇文章后可以有所收获。RabbitMQ是目前非常热门的一款消息中间件,不管是互联网大厂还是中小企业都在大量使用...
    99+
    2023-06-28
  • docker安装rabbitmq的步骤是什么
    要在Docker中安装RabbitMQ,可以按照以下步骤进行操作: 首先,确保你已经安装好Docker。 打开终端或命令提示...
    99+
    2023-10-25
    docker rabbitmq
  • rabbitmq消息确认机制是什么
    RabbitMQ消息确认机制是一种用于保证消息可靠传输的机制。它确保生产者发送的消息被正确地传递给消费者并被消费者成功处理。在Rab...
    99+
    2023-10-09
    rabbitmq
  • RabbitMQ中七种模式介绍与应用场景的示例分析
    这篇文章给大家分享的是有关RabbitMQ中七种模式介绍与应用场景的示例分析的内容。小编觉得挺实用的,因此分享给大家做个参考,一起跟随小编过来看看吧。七种模式介绍与应用场景 简单模式(Hello World)做最简单的事情,一个生...
    99+
    2023-06-15
  • Linux安装RabbitMQ具体步骤是什么
    这期内容当中小编将会给大家带来有关Linux安装RabbitMQ具体步骤是什么,文章内容丰富且以专业的角度为大家分析和叙述,阅读完这篇文章希望大家可以有所收获。RabbitMQ是目前非常热门的一款消息中间件,不管是互联网大厂还是中小企业都在...
    99+
    2023-06-28
  • rabbitmq的五种消息模型是什么
    RabbitMQ支持以下五种消息模型: 简单模式(Simple Mode):生产者将消息发送到队列,消费者从队列中获取消息并处理...
    99+
    2023-10-25
    rabbitmq
  • rabbitmq堆积处理的方法是什么
    RabbitMQ堆积处理的方法有以下几种:1. 扩展消费者:增加消费者数量来提高消费速度。可以通过在同一队列上启动多个消费者实例来实...
    99+
    2023-09-20
    rabbitmq
  • rabbitmq集群部署的原理是什么
    RabbitMQ集群部署的原理是将多个RabbitMQ节点组合在一起,共同提供服务。集群部署的主要原理包括以下几个方面: 节点间...
    99+
    2023-10-23
    rabbitmq
  • RabbitMQ消息转换器怎么应用
    本文小编为大家详细介绍“RabbitMQ消息转换器怎么应用”,内容详细,步骤清晰,细节处理妥当,希望这篇“RabbitMQ消息转换器怎么应用”文章能帮助大家解决疑惑,下面跟着小编的思路慢慢深入,一起来学习新知识吧。在SpringAMQP的发...
    99+
    2023-07-05
软考高级职称资格查询
编程网,编程工程师的家园,是目前国内优秀的开源技术社区之一,形成了由开源软件库、代码分享、资讯、协作翻译、讨论区和博客等几大频道内容,为IT开发者提供了一个发现、使用、并交流开源技术的平台。
  • 官方手机版

  • 微信公众号

  • 商务合作