什么是RPC?RPC框架dubbo的核心流程

      最后更新:2022-04-14 18:55:21 手机定位技术交流文章

      推荐学习

      • 在网上发布,分发给马马部队——1658页“贾瓦访谈和访谈核心”
      • SpringCloud+SprintCloud Alibaba在互联网上都是微型服务结构的关键。

      一. 区域保护公约和再保护公约

      1. REST和RPC协议的具体内容是什么?

      在单体应用中,程序语言级别的方法函数使模块间调用。另一方面,分配系统是由若干机器操作的。一般来说,每个服务实例都是一个过程。为了相互交流,各服务机构必须采用程序间通信协议。RPC和RET协议是最常用的通信协议。

      (1)REST:

      REST基于HTTP的实施。HTTP 协议用于处理数据传输。更加标准化与通用,因为HTTP协议得到两种语言的支持。其它接口指标准 http API 。REST是一种结构类型。它提到一系列结构性限制和基本原则。" 更新 " 是指符合 " 无害环境技术 " 概念的应用或设计。改头换面地认为任何事物都是一种资源。REST强调增加交互式组件、接口兼容性、部件和中间器的自主部署,以减少互动延迟。它强化安全,也能封装遗留系统。

      (2)RPC:

      远程服务中心是一个流程到流程的通信机制,它使远程服务可以被称作当地服务,通信协议通常是二元的。

      2. RPC对REST比较

      (1) RPC转让协议和性能:RPC转让协议有适应性。在TCP的基础上可以实现。因为TCP协议在讨价还价的底部它给了你更大的自由 当它涉及到 改变协议字段。这个故事是我们对2011年埃及抗议的特别报导的一部分。减少网络开销,为了提高传输性能和缩短传输时间,不断增加的吞吐量和梳理量。关于无害环境技术的最高一级协定是HTTP协定。发送内容相同的数据,请求中包含了许多毫无意义的信息摄取的字节数量大于通过 TCP 协议传输的字节数量。因此在同等网络下,HTTP数据传输的效率将低于TCP数据传输的效率。传输耗时更长,不仅如此,JSON 用于大多数的REST HTTP。它也更贵 序列, 以及使用。但是,如果它建在HTTP2上, 这是我们对2011年埃及抗议的特别报导的一部分。然后,它也可以用作RPC。

      (2) 灵活性、开放性和互操作性:例如,对HTTP进行再培训。其规定性更强,范围更广。HTTP协议得到两种语文的支持。因此, " 无害环境技术 " 很容易被援引和检验。遗憾的是,在使用RPC方面有若干限制。因此,如果要求向公众提供RPC,需要进一步处理,REST比灵活性更灵活。

      3) 场景使用:REST在开放的各类环境中最常用。类似于用网络界面打个电话Api 接口调用,第三方接口调用等。RPC主要用于公司内部服务电话。性能消耗低,传输效率高,特别是大型的网站,当存在若干内部子系统和接口时,RPC适合于使用。

      二、RPC 框架

      在微观服务设计中,经常使用REST和REPC。微服务的好处之一,它既是服务提供者不使用的技术,也是服务提供者确实使用的技术。各大公司实现多组技术联结是可行的。 但是,如果没有连贯一致的通信结构,每个服务提供团队必须完成一套“停业”技术任务,如顺序、反顺序、网络框架、连接的集合、收发机、加班费处理、国家机器等等。造成整体的低效。所以,统一的通信结构包括了前面所说的“企业的退出”技术劳动力以及技术劳动力。首先,服务是一个令人关切的问题。

      1. 区域常委会框架的具体内容是什么?

      区域方案框架的目标是使远程服务更加容易和透明。在最底层,RPC框架负责阻断测序、传输和通信信息。开发商在使用时,只需要知道谁提供哪些远程服务接口以及在哪里可以找到这些接口。没有必要关注通信细节和通话程序的细微差别。区域方案框架是微观服务结构的基本组成部分。它有可能大幅度降低设计中的微服务费用。打电话者和服务供应商提高研发效率。

      2. RPC框架的技术结构

      下图显示,在典型的RPC使用情况下,主要组成部分是服务发现、负载、耐受度、网络传输、顺序等,而RPC议定书则指明服务如何顺序和联网,这也是RPC的基本功能。

      • Dubbo和Google GrPC是两个应用级RPC框架。
      • Netty的通信框架
      • RMI、Socket、SOAP(HTTP XML)、RET(HTTP JSON)是远程通信协议的例子。

      3. RPC框架呼吁程序

      三.1. 以下是区域方案框架的基本组成部分:

      (1) 客户:呼叫服务员。

      (2) 客户根:保存服务地址信息,将客户请求参数数据嵌入网络信息,并通过网络传输将其传送到服务器。

      (3) 港口根服务(服务员Stub):接受客户的要求,并在要求当地服务处处理之前拆包。

      (4) 服务终了服务(服务员):实际服务提供者。

      三.2. RPC呼叫程序:

      (1) 服务客户(客户)通过电话请求提供消费者服务。

      (2) 客户根(Client Stub)负责在接通电话后将(组装)技术、入口等测序(技术、入口等)纳入能够进行网络传输的电文机

      (3) 客户 Stub 定位远程服务地址并通过网络向服务器发送信息。

      (4) 收到电文后,服务器Stub解码和反顺序。

      (5) 根据解码结果,港口根服务公司(Server Stub)援引当地服务进行处理。

      (6) 服务端(服务端)采用特定商业逻辑,并将处理结果提供给服务端根(服务端 Stub)。

      (7) 服务端根(Server Stub) 返回序列结果,并传送给整个网络的消费者。

      (8) 客户Stub接受信息、解码和反后果。

      (9) 服务用户的最终结果;

      另一方面,RPC框架的目标是对上文步骤2-10进行加密,即对调用、编码/编码过程进行加密,使用户感到在调用远程服务时他们是否正在调用当地服务。

      4. 如何建立区域竞争和消费者保护框架?

      为了开始,如果我们要实现区域常委会框架,我们该怎么办?要建立一个区域常委会框架,我们只需要处理以下基本问题:

      四.1. 我们如何通过互联网进行沟通?

      远程调用中,网络通信用于客户通信和服务通信。因此,第一步是建立通信联系。此连接将包含所需信息的字节流发送到服务器 。然后,顺序回答将返回客户。在这个通讯过程中,协议的使用不受限制。能完成传输就行,但首先,我们必须考虑两个问题:如何选择网络协议以及如何构建连接。

      (1) 网络协议选择:大多数区域项目中心框架使用TCP作为传输协议。然而,民主联盟有能力这样做。此外,HTTP的选择也很有限。例如,GRPC利用HTTP2。然而,不同的协议提供了利弊。TCP 更加高效,HTTP在使用上更适应性强。关键在于你如何利用场景 关键在于你如何利用场景如何选择最佳网络传输协议 以满足你的需求

      (2) 建立通讯联系:无线电通讯中心交换的所有数据都通过这一联系传送。连接可按需创建(例如,如果您需要打电话,您可以先打电话)。一旦呼吁结束,就失败了。也可以是长期连接的(客户和服务器连接的时间很长)。我不管现在有没有发货可以结合心跳测试机制,定期评估已形成的连接的可行性。 )若干遥远的任务需要一个共同的连接。

      四.2,怎样才能找到服务线?

      解决寻址的问题,这是指客户如何决定应援引何种功能。在本地调用中,函数指针直接指定函数。但是在远程调用中,函数指针是不行的,因为这两个过程的地址空间是如此不同。所以在远程调用中,客户端和服务端需要分别维护一个【ID -> 函数】的映射表,在所有程序中,身份证是唯一已经查明的身份证。当客户呼唤一个遥远的过程,附上这个ID,服务端通过查表,确定客户必须援引何种职能,然后运行相关函数的代码。

      地点问题可以通过使用注册中心来解决,此后,服务供应商能够披露必要的功能并在注册中心注册,然后服务消费者从注册中心找到服务,然后以正确的方式与服务机构联系。

      (1) 从服务提供者的角度来看:

      当服务提供人能够提供服务时,它必须在指定的登记中心登记其服务,以便服务消费者可以查询服务登记。

      当服务供应商出于若干原因停止提供服务时,要求取消向登记中心提供的废弃服务;服务提供者必须向登记中心定期提供心脏跳测试。如果服务登记中心长期得不到服务提供者的心跳,它可以作为服务提供者使用。服务供应商被视为已停止运营。注册中心不再提供这项服务。

      (2) 从打电话者的观点来看:

      以服务供应商所订阅的服务为基础,在服务登记簿上查询服务供应商的地址等,从而启动服务电话;

      注册中心通知呼叫者该服务是否可用,无论是在线服务还是离线服务。

      当服务拨打者离线时,取消订阅。

      四.3. 如何反顺序和顺序排列?

      在本地调用中,我们现在要做的就是把参数存储在记忆中然后让函数从存储中读取它 。但是,当远程程序被引用时,客户和服务提供者不是一回事。无法关闭临时文件夹:%s。因此,远程进程正在呼唤。当一个客户和一个服务机构互相接触时,方法的设置和结果必须通过TCP等基层网络协议发送。使用网络协议是不可行的,因为它是二进制的(只有二进制数据可以通过网络传输)。因此,这些数值必须以二元形式排序。使用二进制序列化,通过位置和传输发送目标服务器。当目标服务器收到数据时,数据必须逆序排列。远程通话的效率也可能受到测序和反测序速度的影响。

      • 顺序是指将项目转换成二进制流的过程。
      • 反顺序是将二元流转化为对象的过程。

      5. 如何选择最佳PRC网络传输协议?

      有了RPC,有几种网络传输的可能性。例如,TCP议定书、UDP议定书和HTTP议定书。每项协定都以不同的方式影响总体业绩和效率。那么,如何选择最合适的网络传输协议?针对这个问题,第一步是了解RPC的转让方法如何运作:

      • 以TPCP为基础的协定提出的RPC请求因为TCP协议在讨价还价的底部它给了你更大的自由 当它涉及到 改变协议字段。这个故事是我们对2011年埃及抗议的特别报导的一部分。减少网络开销,为了提高传输性能和缩短传输时间,不断增加的吞吐量和梳理量。因此,必须关注底部的复杂特征。实现的代价更高,同时对不同平台,如安卓,iOS 等,有必要重新开发若干工具包,以便要求发送和评估结果。工作量大,要迅速回应并满足用户的要求是困难的。
      • 以HTTP协议为基础的RPC可以使用JSON和XML表格中的要求和对数据的答复。JSON和XML是通用格式标准(HTTP协议也需要排序和反排序),然而,根据协定的条款,这不是我们所关心的。一个成熟的网络程序测序材料已经完成。开放源码分辨率工具开发完善。就此进行二级发展将相当直接和容易。然而,由于HTTP协议是更高一级的协议,发送内容相同的数据,请求中包含了许多毫无意义的信息摄取的字节数量大于通过 TCP 协议传输的字节数量。因此在同等网络下,HTTP数据传输的效率将低于TCP数据传输的效率。传输耗时更长,当然压缩数据,能够缩小这一差距。

      (三) 权利审查委员会框架

      一个,杜博,到底是什么?

      前面讲到,在微观服务结构中,经常使用RPC。而 区域方案框架是微观服务结构的基本组成部分。它有可能大幅度降低设计中的微服务费用。打电话者和服务供应商提高研发效率。Dubbo是Alibabaha以爪哇为基地的RPC分发服务框架。创建高性能和透明度的远程服务访问应用程序,SOA服务治理方案以及SOA服务治理方案另外,Alibaba技术旅馆以春云为基地。
      杜博技术由弹簧球菌覆盖这个项目建在Spring Cloud Alibaba的Nacos登记中心,该项目包括一个Dubbo和Spring Cloud集成方案。这个故事是我们对2011年印度抗争的特别报导的一部分。因此,服务范围内的RPC协议基本上不需要修改。以RPC为基础的服务电话成功。

      2. Dubbo的执行程序

      2.1.1. Dubbo的总体程序:

      • 启动期间履行的职能用紫点线表示。
      • 点点蓝色:运行期间完成功能,使用不对称
      • 蓝线:在程序执行时完成功能,同步调用

      二.一. 整个杜博安装方法概述如下:

      (1) 使容器起动、装载和启动服务供应商。

      (2) 在服务开始时,服务提供者在登记中心登记自己的服务。

      (3) 在开办登记中心期间,服务用户登记参加自己的服务。

      (4) 注册中心将服务供应商地址清单归还给消费者,当消费者得到时,它仍留在当地,如果内容变化,注册中心在漫长的连接中将变更数据传送给消费者。

      (5) 服务用户根据软负载平衡算法从供应商地址列表中选择一个供应商,如果呼叫失败,则选择另一个电话。

      (6) 每分钟,消费者和服务提供者以及向控制中心提交统计数字,以及累积的记忆时间和时间。

      消费者使用代理模式, 并建立了供货商代理。 供货商的真正功能是通过代理获取的, 它保护供货商的真正功能 。

      2.1.1.2. 整个dubbo实施进程可被视为生产者-消费者模式加上注册中心+监测中心,其制定理由如下:

      • 消费者和提供者的脱钩,双方可以横向增长或减少节点的数量
      • 注册中心可创建自己的同侪群集,动态增加或删除节点,并在一个节点被消除后立即转换为另一个节点。
      • 中央集权, 双方都不应懒惰于注册中心, 即使注册中心只是暂时的,
      • 服务提供者的特征是无能。

      二.2. Dubbo的同步呼叫原则

      2.2.1.1. Dubbo调用过程同步:

      (1) 客户管道要求远程接口在目前的线条为“暂停”时向服务提交请求,即线条不能向后执行,必须能够获取服务结果才能向后处理。

      (2) 应客户要求,服务处处理请求,并将结果退还客户。

      (3) 客户收到结果,目前的线索反转。

      Dubbo利用Socket建造长链路、数据传输等等。此外,底部与阿帕奇水稻框架结合。反应堆示范通信框架是阿帕奇米纳框架的基础。基于tcp长连接。你知道我在说什么吗?这是远程通话的一步步程序换句话说,鉴于目前的线条,将请求发送出来,其后可加上这一行。至于服务端的结果,它在程序结束时出现。信息以信息形式传递给客户。现在有两个问题:

      (1) 当结果返回并颠倒时,目前的线条如何“暂停”:

      Obj先生成为目标将(ID, obj)放入全球地图并保存它 。然后,要获得 obj锁,使用同步。重新调用。 等待 () 导致当前线索等待 。然后又一个窃听器 等待服务结果抱歉, 地图。 Get( ID) 定位 Obj,然后,使用同步, 获得boj锁。再次调用。 通知All( ) 会唤醒您前面的等候队列 。

      (2) 套接字通信是一种全时、双轨通信模式。当许多线索同时通过远程方法被引用时,在客户端和服务器之间的插座连接上, 将会有来自双方的许多信息。序列也可能是无条理的在结果处理后,将结果信息转发给 Clit 。阴蒂充斥着信息您如何知道哪个信息是初始线索的结果?

      使用 ID, 让它成为唯一的, 然后把它提供给服务器, 然后服务器返回, 使我们能够确定它是哪一行 。

      二、二、二、二、二、二 二、二、二

      (1) 客户使用一条线进入远程接口,以便制作一个独特的IDDubbo,该IDDubbo是用原子线从0收集的。

      (2) 电话详情(例如接口名称、方法名称、引号列表等),按包装技术以及结果处理回召对象等分列

      (3) 在此插入 ConcronentHashMap( ID, 对象) 。

      (4) 包装方法,将ID打入与Iosession.Write(请求)Astral Send out的物体请求。

      (5) 当前线条被重新用于回调的 feed() 功能, 试图获取远返回的结果 。在get()内部,第一步是利用同步获得回声对象回响的锁。已对调查结果进行了测试,以核实是否获得这些结果。如果没有,然后引用回召等待( wait) 方法 。释放回击的锁,保持当前线条处于等待状态 。

      (6) 收到和处理请求后,结果(包括独特的身份证)还给客户。当客户端套接字收到此信件时, 它会连接到专用于收听此信件的一条线, 然后将其与新闻连接起来 。分析结果,取到ID,将自己放在ConcenthHashMap前面。于是我们发现了回调。将调用方法的结果设置为调回对象。

      (7) 最后一行监听,然后接收回击对象的同步锁(由于前一次呼叫等待(),导致回击释放),这是首先使用的锁。第一步是使用通知All()来唤醒我们前面的等待线,然后继续前进。因此,回调获得()功能仍然用于获取呼叫结果。至此,整个过程结束

      必须指出的是,本案的反弹旨在为每个通话产生一个新的无法共享的电话,并且必须保证身份证是唯一连接Socket的身份证。

      3. Dubbo负载平衡法

      (1) 随机调用策略(默认) : 随机选择的服务器节点越多,对不同的服务器示例可以分配不同的权重,流量分布就越均匀。

      (2) 呼叫战略:请求在机器之间分布均匀,如果机器有不同的性能,可迅速导致低性能机器超载,因此有必要改变重量,使低性能机器的载荷和交通量减少。

      (3) 最低活动编号战略:根据服务器的运行状态选择服务。如果计算机性能差,收到的请求越少,收到的请求就越少,收到的请求越少,收到的请求就越少,被分配给性能差的非活动机器的请求就越少。

      (4) 一致性哈希算法:相同的参数请求总是分配给固定服务器节点;当服务器节点挂起时,剩余流流在虚拟节点的基础上统一分布,摇动不是过度分割哈希算法:相同的参数请求总是分配给固定服务器节点;当服务器节点挂起时,其余流流在虚拟节点的基础上统一分布,摇动并不过分。

      4. Dubbo的误差容忍法

      失效( 默认) : 自动开关失败。 发生故障时, 在另一个服务器上再试一次; 默认是两个。 它通常用于读取活动, 但重试可能导致较长的延迟 。

      快速失败: 快速失败, 只启动一次呼叫, 并报告快速失败。 通常用于非指令性写作任务, 比如添加新记录 。

      不安全: 故障是安全的, 异常会被忽略 。 通常用于写入审计日志等 。

      失败回溯: 自动恢复自动重印后台记录的请求失败, 而请求的后台记录会定期重印 。

      叉车: 同时调用许多服务器, 只要其中一个服务器成功就返回。 通常用于高需求实时读取任务, 尽管浪费了更多的服务资源。 叉车=2可以指定最大的平行次数 。

      广播: 电台逐个联络所有供应商, 其中任何一个都是错误的。 通常用来通知所有供应商需要更新本地资源信息, 如缓存或日志 。

      5. Dubbo支持哪些协议和背景?

      (1) 杜博:与不对称国家信息组织通信的单一长长连接,一种能够处理大量和少量数据的服务。客户比供应商大得多。传输协议 TCP,联合赫塞西人协会的分级化。Dubbo正式推荐Dubbo协议。但是,dubbo协议不是为了处理大量数据而设计的。比如传文件,传视频等,除非请求量很低

      (2) 马绍尔群岛:完成了使用约旦王国标准马绍尔群岛协议的工作。在爪哇使用通常的测序法,完成可序列化界面、传输参数和返回参数对象。使用阻塞式短连接,转移包件大小混合物,客户和供应商的数量几乎相同。可传文件,传输协议 TCP。多个短连接,根据TCP协议传输,同步传输,使用标准的远程服务电话和RMI兼容性。在一个被拆掉的版本的 通用集合包,Java系列化中存在安全缺陷。

      (3) 网络服务:基于网络服务的远程电话协议。实现综合的CXF,提供与原始网络服务的兼容性 。多个短连接,与HTTP通讯,同步传输,使用系统整合和多语种电话。

      (4) HTTP:基于提交 HTTP表格的远程呼叫协议。HttpInvoke 实施中使用了弹簧。多个短连接,HTTP 传输协议,传入参数大小混合,供应商比客户多。有必要引用应用程序和浏览器 JavaScript 。

      (5) 赫西安语:综合的赫西安语服务。它依靠HTTP通讯。通过使用服务接触服务,当Dubbo将Jetty作为服务器时,这是默认的。提供与Hession服务的互操作性。多个短连接,同步 HTTP 传输,赫西安语顺序传入参数较大,提供者大于消费者,提供者压力较大,可传文件。

      (6) Redis:使用Redis完成RPC协议。

      (7) Memcache:基于Memcache的RPC协定。

      6. Dubbo通信框架:

      Dubbo的默认通信框架是Netty。

      7. Dubbo结构设计:

      7.1、图例说明

      • 左边的浅蓝色背景界面是服务消费者的,右边的浅绿色背景界面是服务提供者的,中轴界面是双方的。
      • 图片分为10层,全部为单向依赖,右侧的黑箭头显示各层之间的依赖关系,每一层可从上层撤回,服务处和配置层为API,其他层为SPI。
      • 图表中的绿色块是扩展界面,蓝色块是分类,图中仅显示用于连接图中层图块的实际类别是扩展界面,蓝色块是分类,图中仅显示连接层的实际类别。
      • 此图的蓝色点线代表启动程序, 即 绿线代表时间集合链的开始, 而红线代表调用进程, 即运行时间记录链由紫三角箭头显示, 子类则被视为父节点, 线条文字代表调用方法 。

      7.2、各层说明:

      (1) 接口服务级别(服务):这一层与实际商业逻辑相连,与基于供应商和消费者商业设计的接口和实现有关。

      (2) 配置层( Config):服务 Config和Refence Config提供外部配置接口。

      (3) 服务代理(Proxy):服务接口透明度代理,创建服务客户Stub和服务终端Skeleton,中心在服务程序,扩大与代理工具的接口。

      (4) 服务登记(登记):封存服务地址登记和发现中心是服务网址,包括登记厂、登记处和登记处的扩展接口。

      (五) 线路层(通道层):封装若干供应商的路线和负载平衡,以及一座桥梁入口登记中心,由进口者作为Closter、目录、路由器和loadBlancce的核心和延伸界面。

      (6) 监测层(监测层):辐射防护中心根据斯坦立论进行电话和呼叫时间监测,加强与监测、监测和监测服务的接口。

      (7) 远程呼叫层:封装RPC电话,侧重于索引和结果,并增加Protocal、 Invoker和Exporter界面。

      (8) 信息交流层(交换):说明请求答复机制。同步转异步。在请求和答复的中间,有一个交易所、交易所、交易所服务商和交易所服务商是扩展界面的例子。

      (9) 网络转让层(运输):将内部和网内合并为一个接口。在《信息》的中心,频道、传送器、客户、服务器和编码器是扩展接口的例子。

      (10) 数据定序层(序列):序列化、对象输入、对象输出和线索pool是扩大界面的一些可重复使用的工具。

      作者:张维鹏

      原文链接:
      https://blog.csdn.net/a745233700/article/details/122445199

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

          热门文章

          文章分类