初识MQ-同步异步

发布时间:2024年01月20日

提示:文章写完后,目录可以自动生成,如何生成可参考右边的帮助文档


前言

一、同步通讯

同步调用问题:发起请求后,要一直等待后续流程走完,才能执行下一个,效率慢,性能差,资源浪费

级联失败:如果执行过程中,其中一个出现问题,后续都无法走下去,
耦合度高:每次添加新需要,都需要改原来的代码
在这里插入图片描述

在这里插入图片描述

二、异步通讯

2.1.异步调用方案

服务解耦:当不需要某个模块时,直接通过broker取消对功能的订阅,后续就不会有该模块了,同理添加需求的时候也不需要改动支付模块

在这里插入图片描述
使用broker,当进行到支付成功时,直接返回给用户消息,不需要等待后续程序的执行
同步调用耗时:500ms(所有时间之和)
异步调用耗时:60ms(支付和发布支付成功事件)
在这里插入图片描述
使用broker,当进行到支付成功时,直接返回给用户消息,不需要等待后续程序的执行
在这里插入图片描述
**同时有大量的请求时,broker会将请求拦截下来,后面程序能处理多少,就放多少过去,其他都拦住,就不会出现流量突然很大的情况 **
在这里插入图片描述

2.2.异步的优缺点

在这里插入图片描述

三、什么时MQ

3.1 mq和broker

mq,中文消息队列,字面来看就是存放消息的队列,也就是时间驱动架构中的broker

3.2几种mq的优缺点对比

在这里插入图片描述

总结

大多数情况下,都是使用同步调用,如果对吞吐量等有要求的话,才能使用异步
四种mq都各有优劣,具体使用哪种看业务需求

文章来源:https://blog.csdn.net/qq_56514727/article/details/135720021
本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。