[RPC]关于RPC的一点理解

这篇具有很好参考价值的文章主要介绍了[RPC]关于RPC的一点理解。希望对大家有所帮助。如果存在错误或未考虑完全的地方,请大家不吝赐教,您也可以点击"举报违法"按钮提交疑问。

以下内容仅为个人理解,不作正确性保证,感谢批评指正

1.RPC是什么

1.1 概念

在分布式计算中,远程过程调用 (RPC) 是指计算机程序导致过程(子例程)在不同的地址空间(通常在共享网络上的另一台计算机上)中执行, 它的编码就好像是普通(本地)过程调用一样,程序员没有 显式 编码远程交互的详细信息。 也就是说,程序员编写的代码基本 相同,无论子例程是执行程序的本地还是远程的。 这是客户端-服务器交互的一种形式(调用方是客户端,执行者是服务器),通常通过请求-响应消息传递系统实现。 在面向对象的编程范例中,RPC 由远程方法调用 (RMI) 表示。 RPC 模型意味着 一定程度的位置透明性,即 调用过程 无论是本地还是远程,都大致相同,但通常它们不是 相同,因此可以将本地呼叫与远程呼叫区分开来。 远程呼叫通常比本地呼叫慢几个数量级且可靠性低 ,因此区分它们很重要。
RPC 是进程间通信 (IPC) 的一种形式,因为不同的进程具有不同的地址空间:如果在同一 台主机上,它们具有 不同的虚拟地址 空间, 即使 物理地址空间 相同; 而如果它们位于不同的主机上,则物理地址空间是不同的。 许多不同的 (通常是不兼容的)技术 已被用于实现该概念。
— 摘自维基百科

1.2 个人理解

RPC广义上是一种构架思想和方法,它明确了实现远程过程调用的基本形式,RPC本身并不指代某种特定的协议或框架,实现了RPC构架的协议/框架都可以称之为RPC协议/框架.

2.RPC协议

2.1 RPC协议的个人理解

RPC协议是实现远程过程调用过程中的数据传输问题的解决方案,实现数据网络传输就要基于现有传输协议(假定为N协议)做定制化封装,由此产生的N+协议便是RPC协议,N可以是基于传输层的TCP协议或者是应用层的HTTP协议或者其他传输协议.
由此可见,讨论RPC和其他网络传输协议(如TCP/HTTP等)意义不大.

2.2 常见的RPC协议

不同的RPC框架有着不同的网络传输方案,由此产生多个不同的RPC协议. 视RPC框架设计的拓展性,同一个PRC框架也可以支持多种RPC协议.
参考: 深入理解RPC之协议篇

3.RPC框架

3.1 RPC框架的个人理解

RPC框架是对是对RPC构架思想的具体实现.,它包含了对完成远程过程调用所涉及到的组件定义和实现,其中包含网络传输方案(即RPC协议),序列化方案,和远程调用方式等.

3.2 常见的RPC框架

  • Dubbo:国内最早开源的 RPC 框架,由阿里巴巴公司开发并于 2011 年末对外开源,仅支持 Java 语言。
  • Motan:微博内部使用的 RPC 框架,于 2016 年对外开源,仅支持 Java 语言。
  • Tars:腾讯内部使用的 RPC 框架,于 2017 年对外开源,仅支持 C++ 语言。
  • SpringCloud:国外 Pivotal 公司 2014 年对外开源的 RPC 框架,提供了丰富的生态组件。
  • gRPC:Google 于 2015 年对外开源的跨语言 RPC 框架,支持多种语言。
  • Thrift:最初是由 Facebook 开发的内部系统跨语言的 RPC 框架,2007 年贡献给了 Apache 基金,成为Apache 开源项目之一,支持多种语言。
    – 摘自知乎

其他

  • 在某种角度,谈及RPC时我们可以讨论REST,在 2000 年,Roy Fielding 提议使用表述性状态转移 (REST) 作为设计 Web 服务的体系性方法。 REST 是一种基于超媒体构建分布式系统的架构风格。 REST 独立于任何基础协议,并且不一定绑定到 HTTP。只是最常见的 REST API 实现会使用 HTTP 作为应用程序协议。这里不再展开
  • 除了REST还是RPC外, 服务网格 也是微服务间的通信技术的一种发展方向,而 服务网格 所要解决的问题不光是服务通信, 它的作用在于整个分布式应用构架,后续有机会再学习.

资料参考:
10分钟带你彻底搞懂 RPC 架构
服务网格通信基础结构 等文章来源地址https://www.toymoban.com/news/detail-495464.html

到了这里,关于[RPC]关于RPC的一点理解的文章就介绍完了。如果您还想了解更多内容,请在右上角搜索TOY模板网以前的文章或继续浏览下面的相关文章,希望大家以后多多支持TOY模板网!

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处: 如若内容造成侵权/违法违规/事实不符,请点击违法举报进行投诉反馈,一经查实,立即删除!

领支付宝红包 赞助服务器费用

相关文章

  • 对单片机的一点理解

    前言 大一时学过一段时间的51单片机,后面就一直研究STM32和算法,最近工作搞51单片机有半年了,有一些自己的想法,跟公司的工程师也探讨了一些,结合聊天记录,写了这篇博客,希望对读者有帮助。 有纰漏请指出,转载请说明。 学习交流请发邮件 1280253714@qq.com 对单片机

    2024年04月14日
    浏览(61)
  • 对卷积的一点具象化理解

            卷积的公式一般被表示为下式:         对新手来说完全看不懂这是干什么,这个问题需要结合卷积的应用场景来说。         卷积比较广泛的应用是在信号与系统中,所以有些 公式的定义会按照信息流的习惯 。假设存在一串信号 g(x) 经过一个响应 h(x)

    2024年02月09日
    浏览(34)
  • Hyperledger Fabric 网络环境的一点理解

    Hyperledger Fabric 开发链码,一般都是测试网络开发,然后部署到生产网络。 下面介绍测试网络、生产网络的一点理解。 使用cryptogen等工具建立测试网络,开发环境使用。 这里以https://github.com/hyperledger/fabric-samples 2022.2.12的代码为例进行说明。 目录: fabric-samples/test-network/orga

    2024年02月15日
    浏览(37)
  • 关于区块链的一点经济学思考

    区块链是区块链,加密资产是加密资产,尽管二者之间的关系紧密,区块链和加密资产却不能混为一谈。区块链并不是什么新技术,如果从创新的角度来看,顶多算是一种组合创新。但是,很少有一种技术像区块链这样,让很多人趋之若鹜,不论是技术人员还是普通大众,不

    2023年04月08日
    浏览(81)
  • 关于小程序微信登录后端设计的一点分享

    我们知道微信小程序对于微信登录的设计其实是给到了一个微信login的功能接口,其中响应成功会返回一个临时凭证码(时间大概是5分钟)code,这个临时的凭证码是从https://api.weixin.qq.com/sns/jscode2session获取openId的必带参数。下图示微信登录过程的时序图:  这里我们只介绍到

    2024年02月10日
    浏览(38)
  • [数学建模] 0、关于数学建模的一点看法&付费专栏食用说明

    1、前言 在大学期间,几次参加数学建模的经历给我带来的印象还是很深

    2024年02月15日
    浏览(40)
  • 关于credal set和credal decision tree的一点思考(其实就是论文笔记)

    阅读Abellán老师的Credal-C4.5时,发现好难。。。然后又额外补充了一些论文,终于稍微懂一点点了,所以记录如下。 credal set在DS theory的定义如下 [1]: 这句话的意思是(证据理论中的)credal set是一个概率的凸集,这里面的概率p(x)受到上界pl函数和下界bel函数的控制(约束),

    2024年02月12日
    浏览(46)
  • 背包问题的一点看法

    背包问题已经被人讲得很透彻了,上古大神写的《背包九讲》已经相当详细的阐述了背包问题,本文不会过多赘述,主要总结一些有关背包的有趣的玩意。 01背包和完全背包是非常类似的问题,01背包的特点是每种物品最多只能取一个,而完全背包每种物品都可以任意取。 以

    2024年02月12日
    浏览(40)
  • 给想考CISP的一点建议

    了解CISP考试: 在报名参加考试之前,要充分了解CISP认证考试的考试内容、考试形式、考试难度等相关信息,这有助于你制定更有效的备考计划。 制定备考计划: 根据自己的实际情况和考试要求,制定一份详细的备考计划,包括学习时间、学习内容、练习测试等。在备考期

    2024年02月01日
    浏览(38)
  • 找实习、工作的一点浅见

    一、实习的必要性。 为什么需要去实习?1、实习能帮助自己增进对于具体职场的认识,包括具体工作的职责、内容、工作氛围、是否有较大压力等等;2、通过一段时间的实习经历,能帮助自己作出未来是否能胜任类似的工作的判断,如果有留用,是否考虑留下,如果没有留

    2024年02月10日
    浏览(52)

觉得文章有用就打赏一下文章作者

支付宝扫一扫打赏

博客赞助

微信扫一扫打赏

请作者喝杯咖啡吧~博客赞助

支付宝扫一扫领取红包,优惠每天领

二维码1

领取红包

二维码2

领红包