MQ----为什么使用MQ,MQ的优点和缺点呢?

限时加码!20+主流AI编程工具免费用 购周边加赠Coding Plan Lite,Claude Code、Cursor等即刻畅享,学习进阶更高效! 阅读详情

为什么使用MQ?

文章引用地址:
感谢前辈分享
https://github.com/doocs/advanced-java/blob/master/docs/high-concurrency/why-mq.md

为什么使用MQ?就是说我们因为了什么所以使用了MQ
我们使用MQ都是为了我们的业务,因为业务上有个什么场景,因此使用了MQ。
MQ中进场使用的三种场景是,解耦,异步,削峰

首先是解耦

有这样的一个场景,ABCD一共有四个系统,A系统通过接口将数据发送给BCD,此时如果新来了一个E系统也要求放数据,D系统说自己不需要了,这个时候A系统很奔溃
在这里插入图片描述
这个场景之下,A系统和其他各种系统的耦合相当严重,A系统要时刻考虑到BCDE四个系统,考虑他们能否接收数据,如果系统挂了,数据要不要重发。

这个时候MQ出现了,A系统产生一条数据发送到MQ中,哪个系统需要数据自己去MQ中消费,哪个系统不需要数据了就不对MQ消费,这样就A系统就不需要考虑给谁发送数据不给谁发,也不用考虑其他的系统是否成功的接收了信息,失败超时了怎么办
在这里插入图片描述
这样子A系统就达到了解耦的效果,我们使用MQ就是给他进行了异步解耦。

其次是异步

有这样的一个场景,A系统接收到了一个请求,需要在本地写库自己写库的时间是3ms,还需要在BCD

什么是MQMQ的优缺点有哪些 MQ是消息队列(Message Queue)的缩写,它是一种应用程序对应用程序之间的通信方法。消息队列提供了一种在分布式系统中存储转发消息的方法,允许系统组件之间进行异步通信。消息队列通常用于解耦生产者(发送消息的系统)消费者(接收消息的系统),以及处理不同系统之间的通信。 阅读详情

相关推荐

初识MQ(Message Queue)

##初识MQ(Message Queue) ​ MQ全称 Message Queue(消息队列),是在消息的传输过程中保存消息的容器。多用于分布式系统之间进行通信。 MQ,消息队列,存储消息的中间件 分布式系统通信两种方式:直接远程调用 借助第三方 完成间接通信 发送方称为生产者,接收方称为消费者 一丶MQ的优势 1.1应用解耦(对比) 提高系统容错性可维护性 系统的耦合性越高...

weixin_44297716的博客 794

消息队列MQ的三大功能

消息队列MQ的三大功能

dj1955的博客 3013

为什么使用MQ,以及使用MQ的优缺点

为什么使用MQ 1.解耦 比如A系统需要调用B系统的接口传递数据,然而当不需要被调用的时候,A系统需要重新打包部署到服务器,这样操作起来就很麻烦,用上MQ之后,只需要管理MQ的就显得简单的多 2.异步 比如A系统调用B系统的接口,需要等到B系统的整个逻辑处理完之后,A系统才会继续往下执行,响应变慢,给用户反映较差 3.削峰 比如向双十一这样的...

weixin_41500775的博客 6053

MQ详细讲解

2.系统的复杂度:会存在一定问题,消息的丢失?事务:生产者——half消息给MQ——响应half——生产者发送真正事务消息——MQ回查事务响应事务状态。消息队列,队列是一种FIFO先进先出的数据结构,然后消费者对消息进行处理。1.异步:送快递,将消息存放等待有时间去处理,作用响应速度吞吐量提高。kafka:优点:吞吐量大,性能非常好,集群高可用。3.缺点:1.系统可用性降低:一旦MQ宕机,整个业务都会受到影响。rabbitMQ优点:消息可靠,功能全面。解决:kafka:消息发送+回调。

Maohongfa的博客 1708

MQMQ--消息中间件

消息中间件 MQ 全称为Message Queue,是在消息的传输过程中保存消息的容器。多用于分布式系统 之间进行通信。 1 MQ 三大特点: 本身是一个服务,生产者消费者都需要连接该服务 底层采用队列(Queue)的数据结构实现先进先出 结构是一个Pub、Sub 模型(发布、订阅模型) 2 优点 在项目中,可将一些无需即时返回且耗时的操作提取出来,进行异步处理,而这种异步处理 的方式大大的节省了服务器的请求响应时间,从而提高了系统的吞吐量 3 作用 应用程序解耦合,提升容错性可维护性。

THE1的博客 780

你知道MQ优点缺点吗?

你知道MQ优点缺点吗? 今天,大家分享一下MQ中的一些有趣场合,我会以图对话的形式阐述出来。以下是个人学习的一些经验,如果你有更好的方案可以留言,一起探讨学习。 那么,到底为什么使用MQ呢?它究竟有什么好处呢? 场景一、多系统间接口调用,程序耦合度高 A系统产生了一个关键数据,在B系统,C系统,D系统里都需要用到。 这时,E系统加入了,对A系统说,哥,你也调调我吧。A系统说好的,然后...

weixin_43986233的博客 2036

56、MQ(异步通讯的的缺点/优点

MQ(异步通讯的的缺点/优点)方案:事件驱动模式这里支付服务发布支付成功事件后就停止了自己的业务,返回给用户显示支付成功。不需要去等待订单服务等等服务(这些服务什么时候做,谁去做不去支付服务不去管) 优点1:服务解耦(相当于所有服务挂载到了broker上了。不再是一个一个去主动调用了)任意删除,增加业务我们都不再需要更改代码(只是加了一个订阅事件) 优点2:性能提升,吞吐量提高(这些都是相对于同步来说)总耗时:50ms+10ms=60ms(他就是支付成功了啊) 优点3:服务没有强依赖,不担心级联失败问题(若

分享JAVA/ Python/ Ts学习路上的一些笔记,不足之处多多见谅。 689

MQ--mq优点缺点、配置、实现方式

开启插件 rabbitmq-plugins enable rabbitmq_management。(截图里面用户名密码设置失败,详情看我容器内执行的语句)managemen版本不用开启插件,直接进行下一步。访问地址 http://内网地址:15672。

yang_xiao_wu_的博客 436

MQ面试必问系列 - MQ的引用场景以及MQ的优缺点

有关MQ的面试题 - MQ的引用场景以及MQ的优缺点 项目中为什么要用MQ?通过调用接口也可以实现啊? 面试官的考察点 主要考察的知识点是MQ使用场景。 期望面试者回答的是:哪个业务遇到了什么技术难点,如果不使用MQ的话有哪些问题?通过使用MQ解决了什么问题? MQ使用场景 使用场景很多总体可以概述为三大点:解耦,异步,削峰 解耦: 顾名思义就是接触项目之间的耦合程度,如下图所示: ...

微信公众号《后端学长》 1874

55、MQ(同步通讯的的缺点/优点

MQ(同步通讯的的缺点/优点) 同步通讯/异步通讯*同步通讯只能一对一,实时 同步调用的问题: 优点:时效性高,可以马上得出结果总结:

分享JAVA/ Python/ Ts学习路上的一些笔记,不足之处多多见谅。 557

RabbitMQ系列(六)--面试官问为什么使用MQ,应该怎么回答

如果简历中有写到使用过RabbitMQ或者其他的消息中间件,可能在MQ方面的第一个问题就是问:为什么使用MQ 面试官期望的回答   1、项目中有什么业务场景需要用到MQ   2、但是用了MQ,会带来很多问题,有什么缺点 所以,我们首先要回答的就是MQ使用场景,在第一篇MQ文章中有简单提过这个 应用场景   1、异步处理   2、流量削峰   3、日志处理   4、应用解耦 ...

weixin_30883311的博客 761

为什么使用消息队列?消息队列有什么优点缺点?常用的MQ 都有什么区别,以及适合哪些场景?

通过一个 MQ,Pub/Sub 发布订阅消息这么一个模型,A 系统就跟其它系统彻底解耦了。

一位打工仔的博客 234

MQ消息队列的优缺点都有什么? (精简易懂)

公司的一些项目中一直在使用MQ, 但是它的优点,缺点分别是什么呢?

null 366

RocketMQ入门指南:从零开始学习分布式消息队列技术

为什么要用MQ消息队列是一种“先进先出”的数据结构其应用场景主要包含以下3个方面应用解耦系统的耦合性越高,容错性就越低。以电商应用为例,用户创建订单后,如果耦合调用库存系统、物流系统、支付系统,任何一个子系统出了故障或者因为升级等原因暂时不可用,都会造成下单操作异常,影响用户使用体验。使用消息队列解耦合,系统的耦合性就会提高了。比如物流系统发生故障,需要几分钟才能来修复,在这段时间内,物流系统要处理的数据被缓存到消息队列中,用户的下单操作正常完成。

m0_59230408的博客 4万+

详解MQ消息队列及四大主流MQ的优缺点

近期有了想跳槽的打算,所以自己想巩固一下自己的技术,想了解一些面试比较容易加分的项,近期准备深入研究一下RedisMQ这两样,这总体上都是为了解决服务器并发的原因,刚翻到了一篇有关于MQ的,觉得写得特别好,特此记录一下,也算是为了加深自己的印象。

Owen的博客 2190

MQ相关(优缺点,技术选型,高可用)

消息队列有什么优点缺点 优点: 解耦 异步 削峰 当不使用MQ时 当使用MQ缺点: 1.系统可用性降低:系统引入的外部依赖越多,越容易挂掉,本来你就是A系统调用BCD三个系统的接口就好了,人ABCD四个系统好好的,没啥问题,你偏加个MQ进来,万一MQ挂了咋整?MQ挂了,整套系统崩溃了,你不就完了么。 2.系统复杂性提高:硬生生加个MQ进来,你怎么保证消息没有...

4530

为什么使用RocketMq——RocketMq系列

为什么使用RocketMq——RocketMq系列 明亮的星光 2020-12-25 22:33:15 298 收藏 分类专栏: RocketMq 文章标签: java 分布式 版权 RocketMq入门 为什么要用MQ MQ的优缺点 优点缺点 为什么要用MQ 应用解耦 系统的耦合性越高,容错性就越低。以电商为例,用户创建完订单后,如果耦合调用库存系统、物流系统、支付系统,任何一个系统出现故障或者因为升级等原因暂时不可用,都回造成下单的异常,影响用户的

ZZ100861122的博客 845

28个案例问题分析---16---消息队列的作用意义--RabbitMq

MQ(Message Queue)消息队列。队列是一种基础的数据结构。具有先进先出的特性,用队列来实现消息的传递。生产者生产消息,将消息放入队列。消费者从队列取出消息(服务端推送,或者订阅),进行消费。通过总结rabbitMQ使用,体会MQ消息队列的作用,通过这个队列可以让我们代码耦合度更小。理解MQ的好处才能在以后的工作中更好的使用这门技术。

郝老三~~~~~~~~~~~~~ 735

【面朝大厂】面试官:详细说说对MQ消息队列的理解以及主流MQ的优缺点...

点击上方“Java基基”,选择“设为星标”做积极的人,而不是积极废人!源码精品专栏原创 | Java 2020超神之路,很肝~中文详细注释的开源项目RPC 框架 Dubbo 源码解析网...

weixin_44421461的博客 261
上一篇: http/https工作原理
下一篇: MQ----保证MQ的可用性
一只小猛子
博客等级 码龄9年 14粉丝 93原创
评论 2
成就一亿技术人!
拼手气红包6.0元
还能输入1000个字符
 
 条评论被折叠 查看
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值