iis服务器助手广告广告
返回顶部
首页 > 资讯 > 精选 >RPC的消息交互流程是怎样的
  • 336
分享到

RPC的消息交互流程是怎样的

2023-06-02 20:06:29 336人浏览 独家记忆
摘要

这篇“rpc的消息交互流程是怎样的”文章的知识点大部分人都不太理解,所以小编给大家总结了以下内容,内容详细,步骤清晰,具有一定的借鉴价值,希望大家阅读完这篇文章能有所收获,下面我们一起来看看这篇“RPC的消息交互流程是怎样的”文章吧。上图是

这篇“rpc的消息交互流程是怎样的”文章的知识点大部分人都不太理解,所以小编给大家总结了以下内容,内容详细,步骤清晰,具有一定的借鉴价值,希望大家阅读完这篇文章能有所收获,下面我们一起来看看这篇“RPC的消息交互流程是怎样的”文章吧。

RPC的消息交互流程是怎样的

上图是信息系统交互模型宏观示意图,RPC 的消息交互则会深入到底层。

RPC 是两个子系统之间进行的直接消息交互,它使用操作系统提供的套接字来作为消息的载体,以特定的消息格式来定义消息内容和边界。

RPC 的客户端通过文件描述符的读写 api (read & write) 来访问操作系统内核中的网络模块为当前套接字分配的发送 (send buffer) 和接收 (recv buffer) 缓存

RPC的消息交互流程是怎样的

如上图所示,左边的客户端进程写 RPC 指令消息到内核的发送缓存中,内核将发送缓存中的数据传送到物理硬件 NIC,也就是网络接口芯片 (Network Interface Circuit)。NIC 负责将翻译出来的模拟信号通过网络硬件传递到服务器硬件的 NIC。服务器的 NIC 再将模拟信号转成字节数据存放到内核为套接字分配的接收缓存中,最终服务器进程从接收缓存中读取数据即为源客户端进程传递过来的 RPC 指令消息。

消息从用户进程流向物理硬件,又从物理硬件流向用户进程,中间还经过了一系列的路由网关节点。

上图呈现的只是 RPC 一次消息交互的上半场,下半场是一个逆向的过程,从服务器进程向客户端进程返回响应数据。完整的一次 RPC 过程如下图所示:

RPC的消息交互流程是怎样的

下面用 python 代码来描述上述过程。

Server 端死循环监听本地 8080 端口,等待客户端的连接。

客户端启动时连接本地 8080 端口,紧接着发送词一个字符串 hello,然后等待服务器响应。

服务器接收到客户端连接后立即收取客户端发送过来的字符串,也就是 hello,打印出来。然后立即给对方回复一个字符串 world。

客户端接收到服务器发送过来的 world,马上打印出来。

关闭连接,结束。

RPC的消息交互流程是怎样的

如果从上面代码上观察,我们其实很难看出上图所示的复杂过程。浮现在多数人脑海中往往是下面的这幅简约模型图。相比之下它要简单很多,这也正是操作系统设计的魅力所在,让你时时刻刻都在使用它却感受不到它的存在。

RPC的消息交互流程是怎样的

以上就是关于“RPC的消息交互流程是怎样的”这篇文章的内容,相信大家都有了一定的了解,希望小编分享的内容对大家有帮助,若想了解更多相关的知识内容,请关注编程网精选频道。

--结束END--

本文标题: RPC的消息交互流程是怎样的

本文链接: https://www.lsjlt.com/news/231312.html(转载时请注明来源链接)

有问题或投稿请发送至: 邮箱/279061341@qq.com    QQ/279061341

本篇文章演示代码以及资料文档资料下载

下载Word文档到电脑,方便收藏和打印~

下载Word文档
猜你喜欢
  • RPC的消息交互流程是怎样的
    这篇“RPC的消息交互流程是怎样的”文章的知识点大部分人都不太理解,所以小编给大家总结了以下内容,内容详细,步骤清晰,具有一定的借鉴价值,希望大家阅读完这篇文章能有所收获,下面我们一起来看看这篇“RPC的消息交互流程是怎样的”文章吧。上图是...
    99+
    2023-06-02
  • 域名交易流程是怎样的
    域名交易流程是怎样的,相信很多没有经验的人对此束手无策,为此本文总结了问题出现的原因和解决方法,通过这篇文章希望你能解决这个问题。在中国,CN域名是可以转让和交易的。一般在进行域名交易的时候要做哪些事情想必这是很多人都在关心的事,因为.cn...
    99+
    2023-06-06
  • ajax交互模型的过程是怎样的
    这篇文章主要讲解了“ajax交互模型的过程是怎样的”,文中的讲解内容简单清晰,易于学习与理解,下面请大家跟着小编的思路慢慢深入,一起来研究和学习“ajax交互模型的过程是怎样的”吧!ajax的交互模型是:1...
    99+
    2022-10-19
  • ajax的交互流程是什么
    这篇“ajax的交互流程是什么”除了程序员外大部分人都不太理解,今天小编为了让大家更加理解“ajax的交互流程是什么”,给大家总结了以下内容,具有一定借鉴价值,内容详细步骤清晰...
    99+
    2022-10-19
  • RocketMQ的事务消息发送流程是什么
    本篇内容介绍了“RocketMQ的事务消息发送流程是什么”的有关知识,在实际案例的操作过程中,不少人都会遇到这样的困境,接下来就让小编带领大家学习一下如何处理这些情况吧!希望大家仔细阅读,能够学有所成!事务消息发送流程半消息实现了分布式环境...
    99+
    2023-07-05
  • Actor-ES框架中的消息发布器与消息存储器是怎样的
    这篇文章给大家介绍Actor-ES框架中的消息发布器与消息存储器是怎样的,内容非常详细,感兴趣的小伙伴们可以参考借鉴,希望对大家能有所帮助。消息发布器:Ray是基于Event Sourcing设计的ES/Actor框架,ESGrain状态(...
    99+
    2023-06-19
  • Shuffle流程是怎样的
    本篇内容介绍了“Shuffle流程是怎样的”的有关知识,在实际案例的操作过程中,不少人都会遇到这样的困境,接下来就让小编带领大家学习一下如何处理这些情况吧!希望大家仔细阅读,能够学有所成!在MapReduce框架中,shuffle是连接Ma...
    99+
    2023-06-04
  • Java实现学生信息管理系统的流程是怎样的
    这篇文章给大家介绍Java实现学生信息管理系统的流程是怎样的,内容非常详细,感兴趣的小伙伴们可以参考借鉴,希望对大家能有所帮助。一、项目简述功能包括: 用户的登录注册,学生信息管理,教师信息管理,班级信 息管理,采用mvcx项目架构,覆盖增...
    99+
    2023-06-25
  • Springboot+Netty+Websocket实现消息推送实例是怎样的
    Springboot+Netty+Websocket实现消息推送实例是怎样的,相信很多没有经验的人对此束手无策,为此本文总结了问题出现的原因和解决方法,通过这篇文章希望你能解决这个问题。 前言We...
    99+
    2022-10-19
  • mysql的执行流程是怎样的?
    MySQL 可以分为 Server 层和存储引擎层两部分Server 层包括连接器、查询缓存、分析器、优化器、执行器等,涵盖 MySQL 的大多数核 心服务功能,以及所有的内置函数,所有跨存储引 擎的功能都...
    99+
    2022-10-18
  • CentOS6 启动流程是怎样的
    CentOS6 启动流程是怎样的,相信很多没有经验的人对此束手无策,为此本文总结了问题出现的原因和解决方法,通过这篇文章希望你能解决这个问题。我们在使用Linux操作系统的时候,我们只需按下电源键,等待,然后输入账户和密码就可以使用Linu...
    99+
    2023-06-16
  • Ubuntu启动流程是怎样的
    这篇文章主要介绍“Ubuntu启动流程是怎样的”,在日常操作中,相信很多人在Ubuntu启动流程是怎样的问题上存在疑惑,小编查阅了各式资料,整理出简单好用的操作方法,希望对大家解答”Ubuntu启动流程是怎样的”的疑惑有所帮助!接下来,请跟...
    99+
    2023-06-17
  • iOS APP上架被拒重新提交审核流程是怎样的
    本篇文章给大家分享的是有关iOS APP上架被拒重新提交审核流程是怎样的,小编觉得挺实用的,因此分享给大家学习,希望大家阅读完这篇文章后可以有所收获,话不多说,跟着小编一起来看看吧。iOS APP审核比较严格,难免会出现被拒绝的情况,需要根...
    99+
    2023-06-05
  • python的if流程控制是怎样的
    这期内容当中小编将会给大家带来有关python的if流程控制是怎样的,文章内容丰富且以专业的角度为大家分析和叙述,阅读完这篇文章希望大家可以有所收获。1、流程控制和分支结构流程控制概念:流程:代码执行的过程流程控制:对代码执行过程的管控流程...
    99+
    2023-06-29
  • Flutter初始化流程是怎样的
    本篇内容介绍了“Flutter初始化流程是怎样的”的有关知识,在实际案例的操作过程中,不少人都会遇到这样的困境,接下来就让小编带领大家学习一下如何处理这些情况吧!希望大家仔细阅读,能够学有所成!Flutter初始化时序Flutter初始化主...
    99+
    2023-06-04
  • Spark工作流程是怎样的呢
    本篇文章给大家分享的是有关Spark工作流程是怎样的呢,小编觉得挺实用的,因此分享给大家学习,希望大家阅读完这篇文章后可以有所收获,话不多说,跟着小编一起来看看吧。一、Spark架构组成图:GlossaryThe following tab...
    99+
    2023-06-02
  • UI绘制流程是怎么样的
    小编给大家分享一下UI绘制流程是怎么样的,相信大部分人都还不怎么了解,因此分享这篇文章给大家参考一下,希望大家阅读完这篇文章后大有收获,下面让我们一起去了解一下吧!前言在android当中对于UI体系当中往往我们会在绘制UI的时候碰到各种各...
    99+
    2023-06-04
  • vuex工作流程是怎么样的
    这篇文章给大家分享的是有关vuex工作流程是怎么样的的内容。小编觉得挺实用的,因此分享给大家做个参考,一起跟随小编过来看看吧。大家都知道vuex是vue的一个状态管理器,它采用集中式存储管理应用的所有组件的...
    99+
    2022-10-19
  • WCF序列化流程是怎样的
    本篇内容介绍了“WCF序列化流程是怎样的”的有关知识,在实际案例的操作过程中,不少人都会遇到这样的困境,接下来就让小编带领大家学习一下如何处理这些情况吧!希望大家仔细阅读,能够学有所成!为什么WCF序列化:我们这里先来介绍一下为什么需要序列...
    99+
    2023-06-17
  • Mysqldump备份的基本流程是怎样的
    本篇内容介绍了“Mysqldump备份的基本流程是怎样的”的有关知识,在实际案例的操作过程中,不少人都会遇到这样的困境,接下来就让小编带领大家学习一下如何处理这些情况吧!希望大家仔细阅读,能够学有所成! ...
    99+
    2022-10-18
软考高级职称资格查询
编程网,编程工程师的家园,是目前国内优秀的开源技术社区之一,形成了由开源软件库、代码分享、资讯、协作翻译、讨论区和博客等几大频道内容,为IT开发者提供了一个发现、使用、并交流开源技术的平台。
  • 官方手机版

  • 微信公众号

  • 商务合作