初识MQ-同步异步

news2024/11/25 22:54:55

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

文章目录

  • 前言
  • 一、同步通讯
  • 二、异步通讯
    • 2.1.异步调用方案
    • 2.2.异步的优缺点
  • 三、什么时MQ
    • 3.1 mq和broker
    • 3.2几种mq的优缺点对比
  • 总结


前言

一、同步通讯

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

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

在这里插入图片描述

二、异步通讯

2.1.异步调用方案

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

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

2.2.异步的优缺点

在这里插入图片描述

三、什么时MQ

3.1 mq和broker

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

3.2几种mq的优缺点对比

在这里插入图片描述

总结

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

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.coloradmin.cn/o/1400139.html

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈,一经查实,立即删除!

相关文章

Windows系统字体尺寸学习

调用GetTextMetrics来获得字体尺寸信息, 函数返回设备描述表中当前选定的字体信息; 返回值到TEXTMETRIC类型的结构中; 返回字段值的单位取决于当前设备描述表映射方式;默认映射方式是MM_TEXT,值的单位是像素; 前7个字…

『C++成长记』模板

🔥博客主页:小王又困了 📚系列专栏:C 🌟人之为学,不日近则日退 ❤️感谢大家点赞👍收藏⭐评论✍️ 目录 一、泛型编程 二、函数模板 📒2.1函数模板概念 📒2.2函数…

第 122 场 LeetCode 双周赛题解

A 将数组分成最小总代价的子数组 I 枚举&#xff1a;枚举后两个子数组的起始下标 class Solution { public:int minimumCost(vector<int> &nums) {int n nums.size();int res INT32_MAX;for (int i 1; i < n; i)for (int j i 1; j < n; j)res min(res, n…

AI日报:扎克伯格瞄准AGI通用人工智能

文章目录 Meta瞄准通用人工智能领域Meta的目标Meta的产品 FAIR移动和装载H100扎克伯格对人工智能竞争对手的真实动机持怀疑态度Meta抛弃了元宇宙吗&#xff1f; Meta瞄准通用人工智能领域 Meta首席执行官马克扎克伯格&#xff08;Mark Zuckerberg&#xff09;在一份可能改变全…

数字式温度计的设计

根据前期的设计要求&#xff0c;我们需要设计一个数字式温度测量计&#xff0c;能够实现将温度信号实时转换成实际方便查看的形式输出。 目录 题目要求 设计思路 电路模块 温度传感器电路 A/D转换电路 数码管显示电路 仿真显示 题目要求 以下为题目的设计参考电路&…

天龙八部场景编辑器(源码+软件+教程)

天龙八部场景编辑器&#xff0c;里面包括《源码》&#xff0c;《软件》&#xff0c;《教程》&#xff0c;喜欢研究天龙八部的可以下载看看。 天龙八部场景编辑器&#xff08;源码软件教程&#xff09; 下载地址&#xff1a; 链接&#xff1a;https://pan.baidu.com/s/1GWXErav0…

论文阅读_CogTree_推理的认知树

英文名称: From Complex to Simple: Unraveling the Cognitive Tree for Reasoning with Small Language Models中文名称: 从复杂到简单&#xff1a;揭示小型语言模型推理的认知树链接: http://arxiv.org/abs/2311.06754v1代码: https://github.com/alibaba/EasyNLP作者: Junbi…

PLC物联网网关BL104实现PLC协议转MQTT、OPC UA、Modbus TCP

随着物联网技术的迅猛发展&#xff0c;人们深刻认识到在智能化生产和生活中&#xff0c;实时、可靠、安全的数据传输至关重要。在此背景下&#xff0c;高性能的物联网数据传输解决方案——协议转换网关应运而生&#xff0c;广泛应用于工业自动化和数字化工厂应用环境中。 无缝衔…

【leetcode题解C++】160.相交链表 and 142.环形链表II

​160.相交链表 给你两个单链表的头节点 headA 和 headB &#xff0c;请你找出并返回两个单链表相交的起始节点。如果两个链表不存在相交节点&#xff0c;返回 null 。 图示两个链表在节点 c1 开始相交&#xff1a; 题目数据 保证 整个链式结构中不存在环。 示例 1&#xff1…

使用Ultimate-SD-Upscale进行图片高清放大

之前我们介绍过StableSR进行图片高清放大&#xff0c;如果调的参数过大&#xff0c;就会出现内存不足的情况&#xff0c;今天我们介绍另外一个进行图片高清放大的神器Ultimate-SD-Upscale&#xff0c;他可以使用较小的内存对图像进行高清放大。下面我们来看看如何使用进行操作。…

web漏洞总结大全(基础)

前言 本文章是和cike_y师傅一起写的&#xff0c;cike_y博客&#xff1a;https://blog.csdn.net/weixin_53912233?typeblog 也欢迎大家对本文章进行补充和指正&#xff0c;共同维护这个项目&#xff0c;本文的github项目地址&#xff1a; https://github.com/baimao-box/Sum…

力扣343. 整数拆分(动态规划)

Problem: 343. 整数拆分 文章目录 题目描述思路解题方法复杂度Code 题目描述 思路 该题目可以抽象成动态规划中的爬楼梯模型&#xff0c;将整数的拆分类比为上台阶&#xff1a; 1.每个阶段可以从整数中划分出1、2、…k的一个整数 2.int dp[n 1] dp[i]表示为i的整数划分的最大…

GEE:MCD12Q1土地利用分类产品下载导出制图

导入矢量文件和导出可以看以外博文 var roi ee.FeatureCollection(projects/a-flyllf0313/assets/yidaiyilu); Map.centerObject(roi,5.5)var dataset ee.ImageCollection(MODIS/061/MCD12Q1); var igbpLandCover dataset.select(LC_Type1).mosaic().clip(roi); var igbpLan…

力扣:474. 一和零(动态规划)(01背包)

题目&#xff1a; 给你一个二进制字符串数组 strs 和两个整数 m 和 n 。 请你找出并返回 strs 的最大子集的长度&#xff0c;该子集中 最多 有 m 个 0 和 n 个 1 。 如果 x 的所有元素也是 y 的元素&#xff0c;集合 x 是集合 y 的 子集 。 示例 1&#xff1a; 输入&#…

【LeetCode每日一题】2788. 按分隔符拆分字符串

2024-1-20 文章目录 [2788. 按分隔符拆分字符串](https://leetcode.cn/problems/split-strings-by-separator/)思路&#xff1a; 2788. 按分隔符拆分字符串 思路&#xff1a; 对于每个单词&#xff0c;使用一个可变字符串 StringBuilder 来构建拆分后的单词。初始时&#xff0…

高性能前端UI库 SolidJS | 超棒 NPM 库

SolidJS是一个声明式的、高效的、编译时优化的JavaScript库&#xff0c;用于构建用户界面。它的核心特点是让你能够编写的代码既接近原生JavaScript&#xff0c;又能够享受到现代响应式框架提供的便利。 SolidJS的设计哲学强调了性能与简洁性。它不使用虚拟DOM&#xff08;Vir…

VScode新增设备实现无感接入(不需要输入密码)

VScode远程开发接入设备&#xff0c;默认是需要输入密码的&#xff0c;但是日常开发中刷新就需要重新输入密码&#xff0c;很烦人。配置ssh的RSA密钥后会&#xff0c;就可以直接系统级别验证接入&#xff0c;对开发人员来说验证步骤就透明了&#xff0c;实现无感接入&#xff0…

企业级存储使用的SSD磁盘的健康度问题探讨

写在前面&#xff0c;我的主要工作是销售企业级存储系统的备品备件和提供一些额外的增值服务。谈到销售备件&#xff0c;很重要的就是备件质量了。现在SSD磁盘使用越来越广泛&#xff0c;对于SSD磁盘的健康度就是甲方爷爷们非常关心的一个问题。本文就是想梳理一下企业级SSD固态…

再论 如何通过一个项目征服Java

前面说过&#xff0c;我准备用几个月的时间&#xff0c;将Java体系认真的梳理一遍&#xff0c;不一定做的很好&#xff0c;但是每次都努力去做。 为什么我觉得需要加紧做这个呢&#xff1f;Java早已经不是高大上的稀世珍品了&#xff0c;程序员也不再是高科技工作者&#xff0…

操作系统-操作系统引导(磁盘 操作系统引导过程)

文章目录 总览一个刚买来的磁盘&#xff08;硬盘&#xff09;往磁盘安装操作系统后操作系统引导过程例&#xff1a;windows操作系统的初始化程序 总览 一个刚买来的磁盘&#xff08;硬盘&#xff09; 此时空空如也 往磁盘安装操作系统后 操作系统在C盘 主引导记录不属于某…