同步消息和异步消息传递的区别?
在系统交互时候选择同步还是异步有时候很让人困扰,希望通过阅读这篇文章可以帮助更好的理解同步与异步。
同步与异步消息的区别
1、同步消息
同步消息传递涉及到等待服务器响应消息的客户端。消息可以双向地向两个方向流动。本质上,这意味着同步消息传递是双向通信。即发送方向接收方发送消息,接收方接收此消息并回复发送方。发送者在收到接收者的回复之前不会发送另一条消息。
同步执行的特征为:在两个通信应用系统之间必须要进行同步, 两个系统必须都在正常运行, 并且会中断客户端的执行流, 转而执行调用。发送程序和接收程序都必须一直做好相互通信的准备。发送程序首先向接收程序发起一个请求(发送消息)。发送程序紧接着就会堵塞它自身的进程, 直到收到接收程序的响应。发送程序在收到响应后会继续向下进行处理。
2.异步消息
异步消息传递涉及不等待来自服务器的消息的客户端。事件用于从服务器触发消息。因此,即使客户机被关闭,消息传递也将成功完成。异步消息传递意味着,它是单向通信的一种方式,而交流的流程是单向的。
当使用异步消息传送时, 调用者在发送消息以后可以不用等待响应, 可以接着处理其他任务。对于异步通信, 一个应用程序(请求者或发送者)将请求发送给另一个应用程序, 然后可以继续向下执行它自身的其他任务。发送程序无须等待接收程序的执行和返回结果, 而是可以继续处理其他请求。与同步方式不同, 异步方式中两个应用系统(发送程序和接收程序)无须同时都在运行, 也无须同时都在处理通信任务。
同步和异步消息传递的优点和缺点
异步消息传递有一些关键优势。它们能够提供灵活性并提供更高的可用性——系统对信息采取行动的压力较小,或者以某种方式立即做出响应。另外,一个系统被关闭不会影响另一个系统。例如,电子邮件——你可以发送数千封电子邮件给你的朋友,而不需要她回复你。
异步的缺点是它们缺乏直接性。没有直接的相互作用。考虑一下与你的朋友在即时通讯或电话上聊天——除非你的朋友及时回复你,否则这不是聊天或谈话。
异步消息传递允许更多的并行性。由于进程不阻塞,所以它可以在消息传输时进行一些计算。
同步消息和异步消息传递的区别?相关推荐
- 同步请求和异步请求的区别
同步请求和异步请求的区别 先解释一下同步和异步的概念 同步是指:发送方发出数据后,等接收方发回响应以后才发下一个数据包的通讯方式. 异步是指:发送方发出数据后,不等接收方发回响应,接着发送下个数据 ...
- 同步电路和异步电路的区别
摘自 何宾著<XilinxFPGA设计权威指南>P86~P91 同步电路和异步电路的区别在于电路触发是否与驱动时钟同步,从行为上讲,就是所有电路是否在同一时钟沿下同步地处理数据. 同步复位 ...
- java同步异步区别_同步请求和异步请求的区别
同步请求和异步请求的区别 先解释一下同步和异步的概念 同步是指:发送方发出数据后,等接收方发回响应以后才发下一个数据包的通讯方式. 异步是指:发送方发出数据后,不等接收方发回响应,接着发送下个数据包的 ...
- 同步消息和异步消息的区别
顺序图是一种详细描述对象之间交互的图,强调消息之间的顺序. 消息是对象之间的通信的规格说明,这样的通信用于传输将发生的活动所需要的信息,既包含了控制(如调用)的规格说明,也包含了所使用的数据的规格说明 ...
- Windows同步消息和异步消息的使用
在Windows中,使用SendMessage来发送同步消息,使用PostMessage来发送异步消息.二者的区别在于:SendMessage将消息发给一个窗口,等窗口程序处理完成后才返回:PostM ...
- RocketMQ 实战-SpringBoot整合RocketMQ同步消息、异步消息、单向消息
官方样例:https://gitee.com/apache/rocketmq/blob/master/docs/cn/RocketMQ_Example.md 1. 同步消息 producer向 bro ...
- UML建模中简单消息、同步消息和异步消息
简单消息Simple Message 表示简单的控制流,是从一个对象到另一个对象的控制流的转移.用于描述控制如何在对象间进行传递,而不考虑通信的细节. 同步消息Synchronous Message ...
- ajax同步请求和异步请求的区别
刚毕业那会有一位面试官问我的问题,现在想做个总结 jquery 的 async 这个属性 默认是true:异步 , false:同步. 那么异步和同步到底有什么区别呢? 异步:异步处理是客户端通过事件 ...
- RocketMQ同步消息、异步消息、单向消息详解
一.RocketMQ 支持 3 种消息发送方式 : 1.同步消息(sync message ) producer向 broker 发送消息,执行 API 时同步等待, 直到broker 服务器返回发送 ...
最新文章
- Android 实现图片的单点缩放、拖动、旋转
- 使用MASM02 - Win32汇编语言010
- POJ1265(Pick定理的应用)
- Centos7 安装mongodb记录
- Oracle函数初探
- Spring学习总结(27)——Spring常用注解再总结
- 数据结构与算法之-----二叉树(一)
- win7查看隐藏文件_win7系统如何隐藏文件 win7系统隐藏文件步骤【介绍】
- 云的种类 计算机,云架构常用的云组件类型分析
- 阿里云助贫困大学生用技能点亮人生
- 经典的Java算法面试题
- 中文车牌识别开源项目C++版使用笔记
- [超详细] 在Edge/Chrome浏览器上为B站开启HEVC硬解和AV1硬解(支持4K120Hz、8K、HDR真彩,杜比视界、杜比全景声)
- 今天谁在开网店?兼职卖家占整体网店近70%
- 两步使用Ubuntu 创建自己的网站
- 工程施工阶段成本变化
- CODE RO RW ZI
- 图像传感器的这9个知识点,你都懂吗?
- 计算机学院优秀主讲教师评选细则,徐州工程学院优秀主讲教师评选办法 徐工院行教[2015]35号...
- 解析LDO的基本原理与主要参数