返回顶部
首页 > 资讯 > 精选 >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://lsjlt.com/news/231312.html(转载时请注明来源链接)

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

猜你喜欢
  • RPC的消息交互流程是怎样的
    这篇“RPC的消息交互流程是怎样的”文章的知识点大部分人都不太理解,所以小编给大家总结了以下内容,内容详细,步骤清晰,具有一定的借鉴价值,希望大家阅读完这篇文章能有所收获,下面我们一起来看看这篇“RPC的消息交互流程是怎样的”文章吧。上图是...
    99+
    2023-06-02
  • ajax的交互流程是什么
    这篇“ajax的交互流程是什么”除了程序员外大部分人都不太理解,今天小编为了让大家更加理解“ajax的交互流程是什么”,给大家总结了以下内容,具有一定借鉴价值,内容详细步骤清晰...
    99+
    2024-04-02
  • ajax交互模型的过程是怎样的
    这篇文章主要讲解了“ajax交互模型的过程是怎样的”,文中的讲解内容简单清晰,易于学习与理解,下面请大家跟着小编的思路慢慢深入,一起来研究和学习“ajax交互模型的过程是怎样的”吧!ajax的交互模型是:1...
    99+
    2024-04-02
  • 域名交易流程是怎样的
    域名交易流程是怎样的,相信很多没有经验的人对此束手无策,为此本文总结了问题出现的原因和解决方法,通过这篇文章希望你能解决这个问题。在中国,CN域名是可以转让和交易的。一般在进行域名交易的时候要做哪些事情想必这是很多人都在关心的事,因为.cn...
    99+
    2023-06-06
  • Kafka的消息传输过程是怎样的
    Kafka消息传输过程主要涉及生产者、消费者和Kafka集群三个部分。以下是Kafka的消息传输过程: 生产者将消息发送到Kaf...
    99+
    2024-04-02
  • Storm的消息传递模型是怎样的
    Storm是一个开源的实时大数据处理系统,它采用的消息传递模型是基于流的消息传递模型。在Storm中,数据被分割成小的数据流,然后在...
    99+
    2024-04-02
  • RocketMQ的事务消息发送流程是什么
    本篇内容介绍了“RocketMQ的事务消息发送流程是什么”的有关知识,在实际案例的操作过程中,不少人都会遇到这样的困境,接下来就让小编带领大家学习一下如何处理这些情况吧!希望大家仔细阅读,能够学有所成!事务消息发送流程半消息实现了分布式环境...
    99+
    2023-07-05
  • 消息传递的宏大叙事:操作系统进程间的交流
    进程之间需要交换数据和同步操作,以实现复杂应用程序的协作。然而,进程是独立实体,拥有各自的内存空间,这给进程间通信带来了挑战。 消息传递模型 为了解决这些挑战,操作系统采用消息传递模型,允许进程通过交换消息进行通信。消息是一个数据结构,包...
    99+
    2024-04-02
  • Shuffle流程是怎样的
    本篇内容介绍了“Shuffle流程是怎样的”的有关知识,在实际案例的操作过程中,不少人都会遇到这样的困境,接下来就让小编带领大家学习一下如何处理这些情况吧!希望大家仔细阅读,能够学有所成!在MapReduce框架中,shuffle是连接Ma...
    99+
    2023-06-04
  • Actor-ES框架中的消息发布器与消息存储器是怎样的
    这篇文章给大家介绍Actor-ES框架中的消息发布器与消息存储器是怎样的,内容非常详细,感兴趣的小伙伴们可以参考借鉴,希望对大家能有所帮助。消息发布器:Ray是基于Event Sourcing设计的ES/Actor框架,ESGrain状态(...
    99+
    2023-06-19
  • 域名担保交易流程是什么样的
    域名担保交易流程是什么样的?随着互联网的迅猛发展,域名已经成为一个企业线上标识的重要部分。然而,域名交易与一般商品交易不同,有其特殊性。大多数人可能对域名交易的完整流程并不清楚,下面就让介绍一下域名担保交易的流程。 考虑到域名交易的特殊性...
    99+
    2024-05-15
    域名担保交易 域名担保交易流程 域名担保交易流程是什么样的 域名知识
  • Java实现学生信息管理系统的流程是怎样的
    这篇文章给大家介绍Java实现学生信息管理系统的流程是怎样的,内容非常详细,感兴趣的小伙伴们可以参考借鉴,希望对大家能有所帮助。一、项目简述功能包括: 用户的登录注册,学生信息管理,教师信息管理,班级信 息管理,采用mvcx项目架构,覆盖增...
    99+
    2023-06-25
  • mysql的执行流程是怎样的?
    MySQL 可以分为 Server 层和存储引擎层两部分Server 层包括连接器、查询缓存、分析器、优化器、执行器等,涵盖 MySQL 的大多数核 心服务功能,以及所有的内置函数,所有跨存储引 擎的功能都...
    99+
    2024-04-02
  • 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
  • RocketMQ-延迟消息的处理流程介绍
    概述 RocketMQ 支持发送延迟消息,但不支持任意时间的延迟消息的设置,仅支持内置预设值的延迟时间间隔的延迟消息; 预设值的延迟时间间隔为: 1s、 5s、 10s、 30s、...
    99+
    2024-04-02
  • Springboot+Netty+Websocket实现消息推送实例是怎样的
    Springboot+Netty+Websocket实现消息推送实例是怎样的,相信很多没有经验的人对此束手无策,为此本文总结了问题出现的原因和解决方法,通过这篇文章希望你能解决这个问题。 前言We...
    99+
    2024-04-02
  • python的if流程控制是怎样的
    这期内容当中小编将会给大家带来有关python的if流程控制是怎样的,文章内容丰富且以专业的角度为大家分析和叙述,阅读完这篇文章希望大家可以有所收获。1、流程控制和分支结构流程控制概念:流程:代码执行的过程流程控制:对代码执行过程的管控流程...
    99+
    2023-06-29
  • vuex工作流程是怎么样的
    这篇文章给大家分享的是有关vuex工作流程是怎么样的的内容。小编觉得挺实用的,因此分享给大家做个参考,一起跟随小编过来看看吧。大家都知道vuex是vue的一个状态管理器,它采用集中式存储管理应用的所有组件的...
    99+
    2024-04-02
软考高级职称资格查询
编程网,编程工程师的家园,是目前国内优秀的开源技术社区之一,形成了由开源软件库、代码分享、资讯、协作翻译、讨论区和博客等几大频道内容,为IT开发者提供了一个发现、使用、并交流开源技术的平台。
  • 官方手机版

  • 微信公众号

  • 商务合作