【RPC项目-理论篇】

      最后更新:2022-05-22 12:41:05 手机定位技术交流文章

      理论知识

      1、什么是RPC?

      RPC(远程进程呼叫)是一项协议,通过网络请求远程计算机程序提供服务,无需了解底层网络技术。

      通俗点:

      所以有两个服务器,A和B, 服务器A上安装的一个应用程序, 想要调用服务器B 来应用所提供的功能/方法, 但是无法直接联系到它, 因为它不是在记忆空间, 所以它不得不使用网络来表达呼叫的音调, 并传送想要的数据 。

      在这里插入图片描述

      2. 为什么使用RPC?

      第一,它是一种分布式的现代微服务。第二,它的部署是灵活的。第三,它是一种解码服务。第四,它相当大。

      RPC的目的是让你在当地使用远程方法, 而对于你来说,这个电话是透明的, 而你不知道在哪里部署这个电话。

      单一服务器的处理能力受到限制,辐射防护中心可提高系统处理能力和工作量,这也是进行分布式计算的基础。

      3、工作原理

      在这里插入图片描述
      在这里插入图片描述
      首先,我们将在远程界面内调用该方法,因此需要有一个插座网络才能接通该连接(即通过插座连接和传输数据)。

      然而,在通过索凯茨传输之前,第2步(将传输的物体转换为可转让的二进制数据)之后必须迈出重要的一步。假设服务器的插座当时收到数据 。第4步要求反顺序(将收到的二进制数据记录为对象)此对象包括有关客户所联系的服务的信息(与该界面被调用的方式相同)。这正是它所需要的。界面方法是什么? 方法中的争论类型是什么?以及返回的数值类型)

      在此之后, 服务器返回以发现此界面的精确实现对象类型 。 通常, 此对象会因性能原因被用作独立的模型 。 当此服务器根块发现此对象时, 它会通过反射被调用, 当它完成后, 它会收到计算结果 。

      在收到结果后,第7步将结果转换为二进制序列,然后通过网络8传送到阴蒂,然后通过第9步将结果排序成物体,然后获得结果10。

      因此,本案的关键问题是:

      • 所需的网络模块(用于网络传输);
      • 序列式模块(天体和二进制数据传输)
      • Clitend 结尾,事实上,她内部有一个根代理,网络与谁沟通,谁执行测序动作)
      • 服务器端无疑需要完成服务搜索、反映服务呼叫等服务管理部分。

      附上帮助您理解的图表 :
      在这里插入图片描述

      RPC有什么问题?

      1. 通讯问题

        即A与B之间的沟通,包括建立TCP联系

      2. 寻址问题

        使用 RPC 框架和一个独特的端口和呼叫方法名称与 B 链接到 B 的服务器

      3. 反序列和参数

        启动远程呼叫参数需要二进制,接收二进制参数需要反排序。

      5 技术栈

      img
      img
      虽然它采用HTTP,但基于网络的电信部分是网络通信模块的抽象部分,可能很容易被其他框架所取代。

      RPC 相对于 HTTP 远程呼叫

      以下是广受欢迎的远程电话的例子:

      RPC服务

      基于原TCP交换机的快速高效数据格式。

      网络服务(cxf),dubbo RPC框架

      HTTP服务

      http 是一个基于 TCP 的网络传输协议, 它定义了提供数据的格式。 客户浏览器和服务互动现在主要是 Http 协议, 也可以用于远程服务电话 。

      现在可以使用http-ward(http-ward)来进行流行的“休息”风格。

      Httpcliet是一种HTTP实现技术。

      两者比较

      • 同样,底线通信也以下列信息为基础:socket(一) 所有远程电话和服务电话都是可能的。

      • 不同点:

        • RPC

          • 框架包括:dubbo、cxf、(RMI远程呼叫)和Hessian。

          • 服务供应商和消费者在利用RPC框架进行服务间呼叫时,必须使用标准RPC框架,或使用dubbo和cxf。

          • 使用相同编程语言的跨功能系统。

          • 迅速打电话,迅速处理。

        • HTTP

          • 链接是: httpCliet

          • 在对HTTP进行服务间通话时使用它是不可行的。我不必担心服务供应商使用的程序语言。没有理由把注意力集中在服务用户所使用的编程语言上。服务提供商只需要一个歇斯底里式的界面。服务消费方,根据这个令人心烦的想法,请求服务即可

          • 跨系统编程语言远程呼叫框架

          • 优势:通用性强

      补充:

      • 就传输速度而言,由于HTTP包含更多的数据,数据的传输速度更快,因此RPC的传输速度快于RESTFLY。

      • 由于《HTTP议定书》得到了所有框架的广泛支持。

        • 在情况来源不明的情况下,在框架和数据问题中,可在网关的HTTP中为HTTP使用其他用途。

        • 相比之下,由于协议是由公司自己制定的,因此理解了各种数据模式,并可利用RPC信息加快模块之间的数据流动。

        • 因此,再生设备可用于网关和外部数据传输,而RPC在微服务单元之间使用。

      • RESTFL的API以资源为导向,雇用GET、POST和PUT购买、传输和修改同一资源,以区分相同的URL,而RPC通常在URL上指向动词。

      image-20210522204036764

      从图上可以看出,在现实中,两者都可以在《区域方案纲要》的执行中看到。HTTP协议可用于最基本的通信安排。使用不同的 HTTP 协议是另一个可以直接访问的功能。理论上,传呼手段也是HTTP的要求。使用获取或发布功能和URL调用技术但是HTTP使请求书的标题膨胀,以便更好可读性,但传播效率较低,而RPC效率更高,但可牺牲可读性。

      换句话说,它们服务于一个目的。只是申请程序不一样而且针对点不同,HTTP用于客户-服务器通信;RPC用于服务器-服务器通信。此外,RPC电话效率更高。还有ZK服务的自动化配置和管理。

      换句话说,较高一级的协定继续依赖往往根据字节流编码的TCP/IP协定。

      6. 互动模式现行框架比较

      服务供应商服务器在注册中心登记一项服务,服务消费者客户从注册中心获得与服务有关的信息,随后通过网络寻找服务供应商。 (注:没有注册中心。 )我不知道我在说什么。
      image-20220509143623230
      在 RPC 模式下, 客户端必须等待服务器响应 。
      image-20220509144148811
      常用RPC框架

      Dubbo

      Dubbo是一个分布式服务框架,专门提供高绩效、透明的RPC远程服务访问方案。

      gRPC

      Google建立了一个高绩效、开放源码的RPC框架。谷歌特别为移动应用程序设计了它,它以HTTP/2协议标准为基础。该项目以《议定书缓冲议定书》排序协议为基础。它还促进多种语文的增长。它本身不传播。因此,必须改进上述框架的功能。

      image-20220509150345370

      参考资料

      1. 【RPC】 ---- RPC入门了解 & 最简单的RPC的实现
      2. 视频: 慕课
      3. JavaGuide从零开始创建了RPC框架。

      本文由 在线网速测试 整理编辑,转载请注明出处,原文链接:https://www.wangsu123.cn/news/25789.html

          热门文章

          文章分类