rpc的通信流程

rpc能实现调用远程方法就跟调用本地(同一个项目中的方法)一样,发起调用请求的那一方叫做服务调用方,被调用的一方叫做服务提供方

接下来就和大家分享一下调用过程的流程和细节。

传输协议

既然是远程调用那肯定就需要通过网络来传输数据,并且 rpc 常用于业务系统之间的数据交互,需要保证其可靠性,所以 rpc 一般默认采用 TCP 来传输。事实上,我们常用的 HTTP 协议也是建立在 TCP 之上的。

封装一个可用的协议

选择了合适的传输层协议之后,我们需要基于此建立一个我们自己的通用协议,和http一样需要封装自己的应用层协议。

序列化

网络传输的数据必须是二进制数据,但调用方请求的出入参数都是对象。对象是肯定没法直接在网络中传输的,需要提前把它转成可传输的二进制,并且要求转换算法是可逆的,这个过程我们一般叫做“序列化”。

压缩

如果我们觉得序列化后的字节数组体积比较大,我们还可以对他进行压缩,压缩后的字节数组体积更小,能在传输的过程中更加节省带宽和内存。

上图就是整个rpc的调用过程。

那上述几个流程就组成了一个完整的 rpc 吗?

还不太算一个完整的rpc,因为我们一般都是面向对象编程,所以我们要使用面向对象的思想,使用封装,让调用者不去关注底层细节,只需要关注业务就可以,所以最终还需要通过动态代理将这些API封装并进行功能增强,这就成为了一个rpc。

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

如若内容造成侵权/违法违规/事实不符,请联系编程知识网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

探索Python爬虫:解析网页数据的神奇之旅

在当今数字化时代,信息的获取变得比以往任何时候都更加便捷。然而,即使在互联网上,获取数据也需要通过正确的工具和技术。Python爬虫就是这样一种强大的工具,它可以让我们轻松地从互联网上收集数据,并将其转化为有用的…

格雷希尔GripSeal用于自动化机械手抓取的防爆阀快速连机器,提高新能源电池包的生产效能

透气防爆阀是当新能源车PACK电池包内部气压过高时,可以释放内部气体避免电池包因压力过高而引发爆炸的安全装置。而新能源汽车在当今社会的普及度越来越高,自动化生产成为了汽车行业的常态,因此,透气防爆阀在进行自动化气密性测试…

如何在 Windows上安装 Python

系列文章目录 作者:i阿极 作者简介:数据分析领域优质创作者、多项比赛获奖者:博主个人首页 😊😊😊如果觉得文章不错或能帮助到你学习,可以点赞👍收藏📁评论📒…

Cesium中加载GaussianSplatting模型

Gaussian Splatting Gaussian Splatting (高斯泼溅) 是近段时间,三维视觉领域热度极高的一项突破性工作。 2020 年提出的 NeRF 等辐射场方法彻底改变了多张照片或视频主导的场景新视角合成的算法生态,但训练、渲染的速度与质量仍存在瓶颈。Gaussian Sp…

算法——哈希表

T04BF 👋专栏: 算法|JAVA|MySQL|C语言 🫵 小比特 大梦想 此篇文章与大家分享分治算法关于哈希表相关算法的专题 如果有不足的或者错误的请您指出! 1.哈希表简介 哈希实际上可以简单认为是一个存储数据的容器,用于快速查找某个元素,时间复杂度仅为O(1),怎…

A股风格因子看板(2024.4第1期)

该因子看板跟踪A股风格因子,该因子主要解释沪深两市的市场收益、刻画市场风格趋势的系列风格因子,用以分析市场风格切换、组合风格景 露等。 今日为该因子跟踪第1期,指数组合数据截止日2024-03-31,要点如下 近1年A股风格因子收益走…

vue快速入门(十)v-bind动态属性绑定

注释很详细&#xff0c;直接上代码 上一篇 新增内容 图片切换逻辑动态绑定的完整写法与简写方法 源码 <!DOCTYPE html> <html lang"en"> <head><meta charset"UTF-8"><meta name"viewport" content"widthdevice…

Codigger Desktop:用户体验与获得收益双赢的革新之作(一)

上周&#xff0c;我们介绍了Codigger Desktop凭借其强大的功能、稳定的性能以及人性化的设计&#xff0c;成为了广大开发者的得力助手。Codigger Desktop除了是开发者的利器外&#xff0c;它以其出色的用户体验和创新的收益模式&#xff0c;为用户提供了一个全新的选择。Codigg…

解密电子邮件组:高效沟通利器,团队协作新纪元

在当今时代&#xff0c;电子邮件无处不在&#xff0c;尤其是对于商业活动而言。电子邮件的重要性不容忽视&#xff0c;因为它在沟通中极为高效。然而&#xff0c;电子邮件也存在降低工作效率和阻碍流程的风险。在这种情况下&#xff0c;电子邮件群组就是最佳的解决方案。什么是…

基于springboot的高校招生系统(含源码+sql+视频导入教程+文档+PPT)

&#x1f449;文末查看项目功能视频演示获取源码sql脚本视频导入教程视频 1 、功能描述 基于springboot的高校招生系统1拥有两种角色&#xff1a;管理员和用户 管理员&#xff1a;学生管理、专业管理、报名管理、录取通知管理、招生公告管理等 用户&#xff1a;登录注册、报…

景区智慧导览平台

一、项目背景与意义 随着信息化、智能化技术的不断发展&#xff0c;以及旅游市场的日益繁荣&#xff0c;游客对景区游览体验的要求也在不断提升。传统的景区导览方式往往存在信息不全、更新不及时、服务不便捷等问题&#xff0c;已无法满足现代游客的需求。因此&#xff0c;开…

Linux/Lame

Lame 今天随便乱逛发现这台机器貌似是 HackTheBox 平台的第一台机器&#xff0c;而且我还没做过&#xff0c;从简介上来看的话是一台很简单的机器&#xff0c;快快的玩一下 Enumeration nmap 首先用 nmap 扫描一下常见的端口&#xff0c;发现系统对外开放了 21,22,139,445 端…