在系统交互时候选择同步还是异步有时候很让人困扰,希望通过阅读这篇文章可以帮助更好的理解同步与异步。

同步与异步消息的区别

1、同步消息

同步消息传递涉及到等待服务器响应消息的客户端。消息可以双向地向两个方向流动。本质上,这意味着同步消息传递是双向通信。即发送方向接收方发送消息,接收方接收此消息并回复发送方。发送者在收到接收者的回复之前不会发送另一条消息。

同步执行的特征为:在两个通信应用系统之间必须要进行同步, 两个系统必须都在正常运行, 并且会中断客户端的执行流, 转而执行调用。发送程序和接收程序都必须一直做好相互通信的准备。发送程序首先向接收程序发起一个请求(发送消息)。发送程序紧接着就会堵塞它自身的进程, 直到收到接收程序的响应。发送程序在收到响应后会继续向下进行处理。

2.异步消息

异步消息传递涉及不等待来自服务器的消息的客户端。事件用于从服务器触发消息。因此,即使客户机被关闭,消息传递也将成功完成。异步消息传递意味着,它是单向通信的一种方式,而交流的流程是单向的。

当使用异步消息传送时, 调用者在发送消息以后可以不用等待响应, 可以接着处理其他任务。对于异步通信, 一个应用程序(请求者或发送者)将请求发送给另一个应用程序, 然后可以继续向下执行它自身的其他任务。发送程序无须等待接收程序的执行和返回结果, 而是可以继续处理其他请求。与同步方式不同, 异步方式中两个应用系统(发送程序和接收程序)无须同时都在运行, 也无须同时都在处理通信任务。

同步和异步消息传递的优点和缺点

异步消息传递有一些关键优势。它们能够提供灵活性并提供更高的可用性——系统对信息采取行动的压力较小,或者以某种方式立即做出响应。另外,一个系统被关闭不会影响另一个系统。例如,电子邮件——你可以发送数千封电子邮件给你的朋友,而不需要她回复你。

异步的缺点是它们缺乏直接性。没有直接的相互作用。考虑一下与你的朋友在即时通讯或电话上聊天——除非你的朋友及时回复你,否则这不是聊天或谈话。

异步消息传递允许更多的并行性。由于进程不阻塞,所以它可以在消息传输时进行一些计算。

同步消息和异步消息传递的区别?相关推荐

  1. 同步请求和异步请求的区别

    同步请求和异步请求的区别 先解释一下同步和异步的概念 同步是指:发送方发出数据后,等接收方发回响应以后才发下一个数据包的通讯方式.   异步是指:发送方发出数据后,不等接收方发回响应,接着发送下个数据 ...

  2. 同步电路和异步电路的区别

    摘自 何宾著<XilinxFPGA设计权威指南>P86~P91 同步电路和异步电路的区别在于电路触发是否与驱动时钟同步,从行为上讲,就是所有电路是否在同一时钟沿下同步地处理数据. 同步复位 ...

  3. java同步异步区别_同步请求和异步请求的区别

    同步请求和异步请求的区别 先解释一下同步和异步的概念 同步是指:发送方发出数据后,等接收方发回响应以后才发下一个数据包的通讯方式. 异步是指:发送方发出数据后,不等接收方发回响应,接着发送下个数据包的 ...

  4. 同步消息和异步消息的区别

    顺序图是一种详细描述对象之间交互的图,强调消息之间的顺序. 消息是对象之间的通信的规格说明,这样的通信用于传输将发生的活动所需要的信息,既包含了控制(如调用)的规格说明,也包含了所使用的数据的规格说明 ...

  5. Windows同步消息和异步消息的使用

    在Windows中,使用SendMessage来发送同步消息,使用PostMessage来发送异步消息.二者的区别在于:SendMessage将消息发给一个窗口,等窗口程序处理完成后才返回:PostM ...

  6. RocketMQ 实战-SpringBoot整合RocketMQ同步消息、异步消息、单向消息

    官方样例:https://gitee.com/apache/rocketmq/blob/master/docs/cn/RocketMQ_Example.md 1. 同步消息 producer向 bro ...

  7. UML建模中简单消息、同步消息和异步消息

    简单消息Simple Message 表示简单的控制流,是从一个对象到另一个对象的控制流的转移.用于描述控制如何在对象间进行传递,而不考虑通信的细节. 同步消息Synchronous Message ...

  8. ajax同步请求和异步请求的区别

    刚毕业那会有一位面试官问我的问题,现在想做个总结 jquery 的 async 这个属性 默认是true:异步 , false:同步. 那么异步和同步到底有什么区别呢? 异步:异步处理是客户端通过事件 ...

  9. RocketMQ同步消息、异步消息、单向消息详解

    一.RocketMQ 支持 3 种消息发送方式 : 1.同步消息(sync message ) producer向 broker 发送消息,执行 API 时同步等待, 直到broker 服务器返回发送 ...

最新文章

  1. Android 实现图片的单点缩放、拖动、旋转
  2. 使用MASM02 - Win32汇编语言010
  3. POJ1265(Pick定理的应用)
  4. Centos7 安装mongodb记录
  5. Oracle函数初探
  6. Spring学习总结(27)——Spring常用注解再总结
  7. 数据结构与算法之-----二叉树(一)
  8. win7查看隐藏文件_win7系统如何隐藏文件 win7系统隐藏文件步骤【介绍】
  9. 云的种类 计算机,云架构常用的云组件类型分析
  10. 阿里云助贫困大学生用技能点亮人生
  11. 经典的Java算法面试题
  12. 中文车牌识别开源项目C++版使用笔记
  13. [超详细] 在Edge/Chrome浏览器上为B站开启HEVC硬解和AV1硬解(支持4K120Hz、8K、HDR真彩,杜比视界、杜比全景声)
  14. 今天谁在开网店?兼职卖家占整体网店近70%
  15. 两步使用Ubuntu 创建自己的网站
  16. 工程施工阶段成本变化
  17. CODE RO RW ZI
  18. 图像传感器的这9个知识点,你都懂吗?
  19. 计算机学院优秀主讲教师评选细则,徐州工程学院优秀主讲教师评选办法 徐工院行教[2015]35号...
  20. 解析LDO的基本原理与主要参数

热门文章

  1. 实现微信公众号微信头像上传
  2. 关于VMware 15:在部分链上无法执行所调用的函数,请打开父虚拟磁盘
  3. Windows11图片密码的设置方法(用喜欢的图片作为开机密码)
  4. 中国十大无线耳机排行榜,音质好配置高的蓝牙耳机分享
  5. Occlusion Culling 遮挡剔除 相机系列5
  6. shell 脚本程序中空格 $符号的使用
  7. week9 day4 CSS网页布局
  8. 大学计算机第四讲答案,大学职业生涯规划课第四讲答案
  9. 例题 - 最近公共祖先 - 离线算法
  10. 谷歌浏览器调试前端功能时的三种刷新方式