同步通信和异步通信(RabbitMq学习前篇)

MQ学习前篇

文章目录

  • MQ学习前篇
    • 1、同步和异步通讯
      • 1.1、同步通讯和异步通讯
      • 1.2、同步调用存在的问题
      • 1.3、异步调用方案
      • 1.4、异步通信的缺点

1、同步和异步通讯

学习mq之前,就要先知道同步通讯和异步通讯的区别。

1.1、同步通讯和异步通讯

image-20240305173222748

  • 同步通讯就像是打电话,就如上面的图片一样,一次只能拨打一个人的电话,否则就是占线的状态。
  • 异步通讯就好比你同时可以接受微信多个用户的消息,就算你人不在线也会有消息的内容。

1.2、同步调用存在的问题

微服务间基于Feign的调用就属于同步方式,存在一些问题。

  1. 耦合度高

    每次加入新的需求,都要修改原来的代码。

  2. 性能下降

    调用者需要等待服务提供者响应,如果调用链过长则响应时间等于每次调用的时间之和。

  3. 资源浪费

    调用链中的每个服务在等待响应过程中,不能释放请求占用的资源,高并发场景下会极度浪费系统资源。

  4. 级联失败

    如果服务提供者出现问题,所有调用方都会跟着出问题,如同多米诺骨牌一样,迅速导致整个微服务群故障。

1.3、异步调用方案

异步调用常见实现就是事件驱动模式

image-20240305174006119

可以解决多个问题:

优势一:服务解耦

image-20240305174135917

优势二:性能提升,吞吐量提高

image-20240305174147651

优势三:服务没有强依赖,不担心级联失败问题

image-20240305174155177

优势四:流量削峰(将待处理的消息存在消息队列中,一个一个进行处理)

image-20240305174054584

1.4、异步通信的缺点

  • 依赖于Broker的可靠性、安全性、吞吐能力

  • 架构复杂了,业务没有明显的流程线,不好追踪管理

事实上,我们大多数情况都会使用同步通信,因为大多数情况下对并发的要求不是很高,要求较高的是时效性。

而异步通通信就是上述的那些概念:并发,解耦等。

下期我会讲解:RabbitMQ快速入门

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

如若内容造成侵权/违法违规/事实不符,请联系我们进行投诉反馈qq邮箱809451989@qq.com,一经查实,立即删除!

相关文章

【网络安全】漏洞挖掘入门教程(非常详细),小白是如何挖漏洞(技巧篇)0基础入门到精通!

温馨提示: 初学者最好不要上手就去搞漏洞挖掘,因为漏洞挖掘需要很多的系统基础知识和一些理论知识做铺垫,而且难度较大…… 较合理的途径应该从漏洞利用入手,不妨分析一些公开的CVE漏洞。很多漏洞都有比较好的资料,分…

Java开发人员不得不收集的代码,java软件开发面试常见问题

前言 今年的金三银四已经过去一大半了,在这其中参与过不少面试,2021都说工作不好找,这也是对开发人员的要求变向的提高了。 之前在Github上收获15Kstar的Java核心神技(这参数,质量多高就不用我多说了吧)非…

C++与 Fluke5500A设备通过GPIB-USB-B通信的经验积累

C与 Fluke5500A设备通过GPIB-USB-B通信的经验积累 以下内容来自:C与 Fluke5500A设备通过GPIB-USB-B通信的经验积累 - JMarcus - 博客园 (cnblogs.com)START 1.需要安装NI-488.2.281,安装好了之后,GPIB-USB-B的驱动就自动安装好了 注意版本…

13. C++类使用方式

【类】 C语言使用函数将程序代码模块化,C通过类将代码进一步模块化,类用于将实现一种功能的全局数据、以及操作这些数据的函数集中存储在一起,同时可以设置类成员的访问权限,禁止外部代码使用和篡改本类成员,类成员访…

SMT贴片加工——品质检验要求

一、元器件贴装工艺品质要求 1.元器件贴装需整齐、正中,无偏移、歪斜 2.贴装的元器件型号规格应正确;元器件应无漏贴、错贴 3.贴片元器件不允许有反贴 4.有极性要求的贴片器件安装需按正确的极性标示安装 二、元器件焊锡工艺要求 1.FPC板面应无影响…

Java实现读取转码写入ES构建检索PDF等文档全栈流程

背景 之前已简单使用ES及Kibana和在线转Base64工具实现了检索文档的demo,并已实现WebHook的搭建和触发流程接口。 传送门: 基于GitBucket的Hook构建ES检索PDF等文档全栈方案 使用ES检索PDF、word等文档快速开始 实现读取本地文件入库ES 总体思路&…

真空展|2024上海国际真空技术及设备展览会

2024上海国际真空技术及设备展览会 2024 Shanghai International Exhibition of vacuum technology and equipment 时 间:2024年7月13-15日 地 点:上海新国际博览中心 承办单位:上海昶文展览服务有限公司 展会简…

JVM内部世界(内存划分,类加载,垃圾回收)

💕"Echo"💕 作者:Mylvzi 文章主要内容:JVM内部世界(内存划分,类加载,垃圾回收) 关于JVM的学习主要掌握三方面: JVM内存区的划分类加载垃圾回收 一.JVM内存区的划分 当一个Java进程开始执行时,JVM会首先向操作系统申…

CSS常见布局方式

一、静态布局(Static Layout) 既传统web设计 就是不管浏览器尺寸多少,网页布局就按当时写代码的布局来布置; 块级元素:每个块级元素会在上一个元素下面另起一行,他们会被设置好的margin分离。块级元素是垂直组织的。 …

SQL Server 安装部署

SQL Server是运行在win server上的关系型数据库,本文主要描述SQL Server的安装部署。 如上所示,SQL Server不同版本的定义以及特性 如上所示,SQL Server不同版本支持的容量规模 如上所示,SQL Server不同版本支持的高可用性 如上所…

能源大数据采集,为您提供专业数据采集服务

随着经济的不断发展,能源产业也逐渐成为国民经济的支柱产业之一。而对于能源行业来说,数据采集是一项至关重要的工作。以往,能源企业采集数据主要依靠人工收集、整理,但是这种方式不仅效率低下,而且容易出现数据不准确…

springcloud:3.7测试线程池服务隔离

服务提供者【test-provider8001】 Openfeign远程调用服务提供者搭建 文章地址http://t.csdnimg.cn/06iz8 相关接口 测试远程调用:http://localhost:8001/payment/index 服务消费者【test-consumer-resilience4j8004】 Openfeign远程调用消费者搭建 文章地址http://t…

ARM中专用指令(异常向量表、异常源、异常返回等)

状态寄存器传送指令 CPSR寄存器 状态寄存器传送指令:访问(读写)CPSR寄存器 读CPSR MRS R1, CPSR R1 CPSR 写CPSR MSR CPSR, #0x10 0x10为User模式,且开启IRQ和FRQ CPSR 0x10 在USER模式下不能随意修改CPSR,因为USER模式…

7.使用os.Args或flag解析命令行参数

文章目录 一、os.Args二、flag包基本使用 Go语言内置的flag包实现了命令行参数的解析,flag包使得开发命令行工具更为简单。 一、os.Args 如果你只是简单的想要获取命令行参数,可以像下面的代码示例一样使用os.Args来获取命令行参数。 package mainimp…

数据伪列

目录 数据伪列 rownum 查询 emp 表中的记录并且取得第一行数据 取得 emp 表的前 5 行记录 rowid 面试题:表中有许多完全重复的数据,要求将重复的数据删除掉(只剩最早的一个) Oracle从入门到总裁:https://blog.csdn.net/weixin…

图像检索与识别——词袋模型(Bag-of-features models)

一、定义 计算机视觉单词袋是一种描述计算图像之间相似度的技术,常用于用于图像分类当中。该方法起源于文本检索(信息检索),是对NLP“单词袋”算法的扩展。在“单词袋”中,我们扫描整个文档,并保留文档中出…

Axure 入门文档 文件格式 全局样式 元件居中

文件格式 .rp 原型文件.rplib:元件库文件.rpteam 团队项目文件.html 项目网页文件 批量设置居中 选中多个,然后上方任务栏即可设置 设置自定义页面视图尺寸 项目-自适应视图设置 点击页面空白处就可以使用 添加元件说明 当一个元件创建好,可以设…

java spring 02. AbstractApplicationContext的refresh

spring创建对象的顺序,先创建beanfactory,再会把xml文件读取到spring。 public ClassPathXmlApplicationContext(String[] configLocations, boolean refresh, Nullable ApplicationContext parent)throws BeansException {//调用父类的构造方法super(p…

MQTT连接阿里云物联网上报物模型数据

目录 1. 创建产品(物联网平台 -> 产品 -> 创建产品) 2. 为产品添加设备 3. 添加物模型 4. mqtt.fx连接测试 5. 调试物模型 6. 使用mqtt.fx上报温度数据 1. 创建产品(物联网平台 -> 产品 -> 创建产品) 我这里再新…

⭐每天一道leetcode:35.搜索插入位置(简单;二分速查)

⭐今日份题目 给定一个排序数组和一个目标值,在数组中找到目标值,并返回其索引。如果目标值不存在于数组中,返回它将会被按顺序插入的位置。 请必须使用时间复杂度为 O(log n) 的算法。 示例1 输入: nums [1,3,5,6], target 5 输出: 2 …