最后更新:2022-06-23 20:40:35 手机定位技术交流文章
在微服务架构中,使用远程程序调用(Remote Procedure Call,RPC)的服务之间的相互作用通常是一个集成的方式。与REST模式的请求调用模式相比,RPC具有较强的合同规范(Schema),同时, REST法也具有更好的性能优势.
RPC框架概述
RPC是一种进程间通信方法,你可以像调用本地服务那样调用远程服务.RPC的核心是不使用任何协议,RPC的主要目标是使远程服务通话更简单、更透明,使远程调用方法与本地调用一样方便,我们不需要知道该调用方法部署的网络位置。
RPC通信过程
RPC主要使用动态代理模式。RPC框架保护了基本的传输模式(TCP或UDP),序列模式(XML,JSON,二进制)和通信细节。开发人员只需要知道谁提供什么类型的远程服务接口在什么地点,当它们在使用时,无需担心底部通信和调用过程的细节,如下图所示。

●远程提供者需要以某种形式提供与服务调用有关的信息,包括但不限于服务接口定义、数据结构和中间服务定义文件。
例如,Facebook的Thrift IDL文件,Web Service的WSDL文件,服务呼叫者需要通过某种手段获取与远程服务呼叫有关的信息。
远程代理对象:远程代理对象是一个在不同地址空间中提供给对象的本地表示,它可以隐藏在不同地址空间中的对象。
通讯: RPC框架与具体协议无关。
序列:毕竟是远程通信,需要将对象转换为传输的二进制流。 RPC框架应用的不同场景是不同的,并且在序列中也使用不同的技术。
RPC 和 REST 与 RPC 和 REST 是请求模式中的点到点请求/响应模式。REST是一种设计风格,它的许多思维方式与RPC冲突。RPC的目的是将本地函数映射到API中,这意味着API与函数方法相符。例如,本地有getAllUsers方法,这个getAllUsers方法可以通过指定的协议远程调用,只要这个协议是Socket,HTTP或其他协议并不重要,RPC的主要组成部分是行动,强调互操作性。而REST则不然,其URL链接主体是资源,REST强调远程资源访问,大多数REST都是基于HTTP的,指定使用HTTP方法执行的动作,只有四个或五个类型。这些 行动 只 代表 资源 转换 的 少数 方法 。
RPC最大的缺点是紧密耦合.RPC客户在许多方面实现了与服务的紧密耦合,没有干扰客户,很难更改服务实现。因此RPC的集成交互方式更倾向于内部调用,REST更倾向于外部调用。网络服务应是RPC的一个分组,理论上,RPC可以实现的功能也可以实现Web服务。许多RPC框架甚至使用HTTP作为传输层。
我们讨论了RPC与网络之间的区别,重点是两个因素: 序列化协议和传输协议.序列协议,例如通用XML,还有JSON和更现代的协议缓冲器,Thrift。例如TCP、UDP、以及高级HTTP 1.1.HTTP 2.0。
我们通常使用RPC而不是HTTP来建立自己的服务,通常考虑以下因素:
是否需要对 Schema 约束的接口?
是否需要更有效的传输协议(TCP,HTTP 2)?0。
对性能和数据包大小非常敏感。
HTTP是一个基于文本的协议,该标题需要提供多个冗余协议标题(用于RPC服务)。我们在HTTP中使用的大部分是RESTful框架,RESTful框架基本上基于弱的 Schema约束协议.对RPC模式调用,Thrift的序列协议的优点是它具有非常严格的IDL(Interacting Specification Constraint Schema)。这确保服务端接收的参数符合计划。
RPC vs. Web Service 网站服务是基于RPC开发的。它可以使用开放XML来描述、发布、发现、协调和配置这些应用程序,它可以用于开发分布式交互操作的应用程序。RPC使用C/S来向服务器发送请求,等待服务器返回结果。
例如,向世界各地客户提供天气预报的天气预报服务是一个跨系统和跨平台的请求响应机制。
RPC和RMI的比较
RMI在Java中仅用于使用客户端的根对象(Stub)作为远程接口调用远程方法。每个远程方法都有方法签名.如果在服务器上执行方法,但是没有匹配的签名被添加到这个远程接口(Stub),所以这个新添加方法不能被RMI客户端调用。
RPC是一个网络服务协议,与操作系统和语言无关,RPC通过网络服务协议向远程主机发送请求,请求包含一个参数和文本值,它通常形成一个类名,“方法名”。RPC远程主机可以搜索匹配类和方法,找到执行方法并编码结果,然后通过网络协议发送回.

本文的内容是RPC远程进程调用,RPC框架概览
本文阐述了RPC远程过程调用的内容,是RPC通信的主流框架
我认为一个好朋友可以把这篇文章传给有关的人;
感谢大家的支持!
这个文章是希望天上没有一个东西可以与你分享,每个人都可以分享你所获得的,如果你想学到更多,你可以到办公室来,我会等你。
本文由 在线网速测试 整理编辑,转载请注明出处。