您的位置 首页 大学专业课程

rpc是什么 Restful和RPC是什么关系

​RPC是远程过程调用,它是一种通过网络从远程计算机程序上请求服务,而不需要了解底层网络技术的协议。RPC协议假定某些传输协议的存在,如TCP或UDP,为通信程序之间携带信息数据。在OSI网络通信模型中,RPC跨越了传输层和应用层。RPC使得开发包括网络分布式多程序在内的应用程序更加容易。

很多同学想知道rpc是什么,下面是小编整理的相关内容,希望对大家有所帮助!

rpc是什么 Restful和RPC是什么关系插图

Rpc是什么

RPC(Remote Procedure Call)是远程过程调用,它是一种通过网络从远程计算机程序上请求服务,而不需要了解底层网络技术的协议。

RPC协议假定某些传输协议的存在,如TCP或UDP,为通信程序之间携带信息数据。在OSI网络通信模型中,RPC跨越了传输层和应用层。RPC使得开发包括网络分布式多程序在内的应用程序更加容易。

RPC采用客户机/服务器模式。请求程序就是一个客户机,而服务提供程序就是一个服务器。首先,客户机调用进程发送一个有进程参数的调用信息到服务进程,然后等待应答信息。

Restful和RPC是什么关系

这两个不是互斥的,HTTP是不是RPC完全取决于client的具体形式。传统的RPC一般是基于二进制协议的,client发个二进制包过来(然后阻塞),server处理完回复一个包,client收到后醒来。在二进制协议中一般可以在包中加个id来指明回复和请求的对应关系,这样我们就能在一个tcp连接上同时发起多个请求和回复。HTTP这种文本协议也可以加id,但由于一些原因(Content-Length可能缺失),即使加了id也做不到一个连接上同时传多个HTTP消息,所以HTTP协议一般会和server保持多个连接,每个连接上同时最多只有一个HTTP消息。此种”连接池“方式即为HTTP中的”Keep-alive“。所以即使在HTTP上(或任何协议上),我们仍然可以做到高效地发送一个请求过去,阻塞,等待server处理完后,再醒来。这不就是RPC么。所以这儿的选择更多是平衡功能和性能。一般来说,面向终端用户的尽量用Restful HTTP。原因是认知广,直观,编程语言都支持HTTP(包括shell,这样调试起来方便),性能不是那么重要,方便用户share链接。而面向内部系统的话如果机器不多也可以考虑用Restful HTTP,如果机器很多还是尽量用二进制的RPC吧,毕竟性能差距还是很大的。

免责声明:文章内容不代表本站立场,本站不对其内容的真实性、完整性、准确性给予任何担保、暗示和承诺,仅供读者参考,文章版权归原作者所有。如本文内容影响到您的合法权益(内容、图片等),请及时联系本站,我们会及时删除处理。

作者: 791650988

为您推荐

历史的意义与价值是什么插图

历史的意义与价值是什么

历史的问题在于不断发现真的过去,在于用材料说话,让人如何在现实中可能成为可以讨论的问题。那么历史的意义与价值有哪些呢?

大数据技术与应用学的是什么内容插图

大数据技术与应用学的是什么内容

大数据技术与应用需要学习Hadoop实用技术、数据挖掘、机器学习、数据统计分析、高等数学等内容。在“大数据”背景之下,精通“大数据”的专业人才将成为企业最重要的业务角色,“大数据”从业人员薪酬持续增长,人才缺口巨大,就业前景十分可观。

课程目标的特点插图

课程目标的特点

课程目标有整体性,各级各类的课程目标是相互关联的,而不是彼此孤立的;阶段性,课程目标是一个多层次和全方位的系统,如小学课程目标、初中课程目标、高中课程目标;持续性,高年级课程目标是低年级课程目标的延续和深化等特点。

中国园林特点是什么插图

中国园林特点是什么

园林是人们为了游览娱乐的方便,用自己的双手创造风景的一种艺术。那么中国园林特点是什么呢?下面是小编整理的相关信息,让我们一起看一下吧。

义和团运动的性质是什么插图

义和团运动的性质是什么

义和团又称义和拳、义和团事件、庚子事变,拳匪、拳乱、庚子拳乱等。那么义和团运动的性质是什么呢?下面就和小编一起去看一下相关信息吧,希望可以给大家带来帮助。

返回顶部