在[净 技术结构中,使用了HTTP、RPC和GRPC。

      最后更新:2021-11-08 16:13:00 手机定位技术交流文章

      文章目录

      • 1) 什么是HTTP?
      • 2)RPC是什么?
        • VS 是本地进程呼叫。 呼叫远程进程
        • 为什么要有RPC?
        • RPC框架实现原理
          • 1、建立通信:
          • 2、服务寻址:
          • 3、网络传输:
            • 序列化:
            • 反序列化:
          • 4、服务调用:
        • 常见的RPC框架
      • (3) HTTP和RPC之间的差异
        • 一种普遍的误解:HTTP协议比直言的TCP报告更昂贵,与连接设置和分离有关的费用较高。
      • 4) REST和GRPC
          • gRPC的优势:
        • 建议利用菲律宾农村保护委员会现场:
          • gRPC的弱点:
        • 不建议利用菲律宾革命卫队的场景:

      经常需要审查技术结构并搜索因特网地图(见http://dockone.org.io/article/696771):
      在这里插入图片描述
      将发现服务与网关/服务之间的联系,以便记录RPC、HTTP和两者之间的区别。

      • 阅读本报告时,应参考“[稳定水平]网关水平和相关技术储存库”。

      1) 什么是HTTP?

      HTTP, 或超文本传输协议, 是协议 。

      • 要传输文本、照片、视频、音乐等等,它以TCP/IP为基础。 也就是说, HTTP不提供数据包的传输功能,而将数据包从浏览器向服务器的背对背传输与TCP/IP的传输无关。

      HTTP的核心是,它是客户和服务机构商定的通信格式。

      由[计算机网络]测试器学习和整理HTTP可以推进详细的梳理工作。


      2)RPC是什么?

      RPC(远程制作呼叫)远程程序呼叫是分布式系统中典型的通信手段。 它允许程序调用另一个地址空间( 通常在同一网络的另一台机器上) 的进程或功能, 而不是程序员对远程调用细节的明确编码 。

      • 除RPC外,其他典型的多系统数据互动系统包括分布式信息队列、HTTP请求、数据库和分布式缓存。
      • RPC和HTTP电话是唯一不使用中介电话,是端对端系统中的直接数据交易。

      VS 是本地进程呼叫。 呼叫远程进程

      就像在古老的单板时代, 我们的服务呼叫是自我实现的, 本地的流程呼叫: 它们现在都是微服务, 根据商业模块的不同划分, 使用者类型的服务 并不来自我的团队, 我只是写订单。 但是我们需要使用用户信息 来提供服务, 所以我们叫用户群体服务, 代码变成:

      在这里插入图片描述

      可以看出,区域采购中心是一个基于网络的远程电话,订单服务是一个客户,用户服务是一种服务。

      • 本地进程呼叫: 要使用本地学生对象的页面+1, 使用 adAge () 方法, 传递学生对象, 年龄后返回更新, 由函数指针定义本地方法的功能 。

      您如何告知机器, 如果 addAge () 方法在服务端, 而执行功能在运行过程中在远程机器上, 您如何通知机器它必须被调用?

      1. 客户端必须首先通知服务器, 函数必须调用, 如果有函数和进程 ID 的地图, 当客户端远程调用时, 客户端必须检查函数, 发现相关的 ID, 然后执行函数代码 。
      2. 客户必须将本地参数传送到远程功能,而本地调用程序容易;然而,客户不再具有相同的内存,在远程调用期间无法直接传输该函数的参数;因此,客户必须将参数转换成字节流,转换到服务端,然后将字节流转换成可自行阅读的格式,即排序和反排序过程。
      3. 数据完成后如何传送? 网络运输层必须将传送的ID和测序参数传送到服务器,然后向客户端传送计算结果,以便TCP层能够完成操作。 GRPC协议使用了 HTTP2 协议 。

      远程程序电话需要互动,还需要商定一种格式,是否希望使用HTTP标准完全取决于你。


      为什么要有RPC?

      你有没有想过 为什么我们只是通过 WebClient 使用HTTP时 才会使用RPC?

      在现实中,** RPC电话是同一公司内不同部门离职或相互沟通造成的。 **
      • 当服务分割和独立启动时,服务之间的呼叫需要网络连接,而使用 WebClient 绝对可行,但更难操作。我们认为,即使服务分解了,使用应该像本地一样简单。因此,有RPC框架可以详细阻断这些底线呼叫,因此我们编码的精确度和我们以前当地呼叫的精确度相同。

      • 由于HTTP协议的冗余,RPC都是内部的套件,所以只要公司内部有标准格式,就没有必要对互操作性做太多的麻烦。 因此,可以制定各种定制协议,提高通信效率。 因此,RPC经常要求内部服务,而HTTP的好处是普遍性的,而这一协议得到了所有人的承认。

      RPC框架实现原理

      原理图:
      在这里插入图片描述
      时序图:
      在这里插入图片描述

      以下阶段用于标志整个RPC呼叫过程:

      1、建立通信:

      当机器想要调用 B 机器时, 它必须首先建立通信连接 。 所有通过远程程序调用的数据交换都通过客户端和服务器之间的 TCP 连接传输 。

      • 可根据需求建立连接,电话后中断连接,或长期建立连接,许多遥远的程序要求有相同的共享连接。

      2、服务寻址:

      处理位置问题,即服务器 A 上的应用程序如何指导下方 RPC 框架, 如何连接到服务器 B (如主机地址或 IP 地址) 和特定端口, 以及该方法的名称

      • 为了完成一次服务呼叫,我们通常需要提供一台B机器(主机名或IP地址)和某一端口,以及将要调用的方法或功能的名称,以及出入境信息。

      • 可靠地点的搜索(主要是发现服务)是实现难民保护方案的基础,例如能够使用重新失能或动物饲养员登记服务。

      难民保护方案的结构有三个关键角色:提供者、客户和登记中心。
      在这里插入图片描述

      • 服务提供者暴露在外。
      • 呼叫者:拨打若干电话以获得远程服务的服务消费者。
      • 登记中心:服务登记和发现。

      从服务提供者的角度来看:
      1. 在供应商开始提供服务时,他们必须自动向登记中心登记。
      2. 当供应商的服务终止时,登记中心必须注销。
      3. 供应商应定期向登记中心提交心跳报告,如果供应商不长期发送心跳报告,则认为供应商已停止服务并将相关服务从登记中心撤回,供应商应定期向登记中心提交心跳报告,如果供应商长期不发送心跳报告,则供应商被视为已停止服务,并将相应服务从登记中心撤回。

      从调用者的角度看:
      1. 在对话开始之前,打电话者必须订阅登记中心,从登记中心取得供应商的地址。
      2. 如果有提供商,无论是在线还是离线,登记中心通知打电话者。
      3. 在没有打电话者时,取消订阅。

      3、网络传输:

      序列化:

      • 当A机上的申请启动RPC调用时,调用方法和调用信息必须通过诸如TCP等共同网络协议发送到B机上。
      • 由于网络协议是二进制的,我们发送的所有参数数据都必须按序(序列化)或以二进制形式组装,然后才能在网络中传输,然后通过位置和网络传输将序列化或组装的二进制数据传送给机器B。

      反序列化:

      • 当机器B从A号机应用程序收到请求时,它必须另外对收到的信息进行反排序,例如参数(顺序反转),以便将二进制信息恢复到内存中的表达式。
      • 对于本地电话,随后会找到相关方法(地点的一个组成部分) (通常通过产生代理代理代理,通常为JDK动态代理、CGLIB动态代理、Javasist生成位元数等) 。 然后将返回值调用 。

      4、服务调用:

      B机器在当地(通过代理代理代理代理代理代理代理代理代理代理代理代理代理代理代理代理代理代理代理代理代理代理代理代理代理代理代理代理代理代理代理代理代理代理代理代理代理代理代理代理代理代理代理代理代理代理代理代理代理代理代理代理代理代理代理代理代理代理代理代理代理代理代理代理代理代理代理代理代理代理代理代理代理代理代理代理代理代理代理代理代理代理代理代理代理代理代理代理代理代理代理代理代理代理代理代理代理代理代理代理代理代理代理代理代理代理代理代理代理代理代理代理代理代理代理代理代理代理代理代理代理代理代理代理代理代理代理代理代理代理代理代理代理代理代理代理代理代理代理代理代理代理代理代理代理代理代理代理代理代理代理代理代理代理代理代理代理代理代理代理代理代理代理代理代理代理代理代理代理代理代理代理代理代理代理代理代理代理代理代理代理代理代理代理代理代理代理代理代理代理代理代理代理代理代理代理代理代理B机器被调B机器,其返回价值的回报价值被收到并返还给A机器A机器。

      • 还需要进行一系列操作,然后通过网络传输将二元数据发送回机器A。
      • 当机器 A 收到这些返回时, 它会重复反序列, 并返回到内存表达式 。
      • 归根结底,A型计算机的应用程序被送往B型机器进行相关处理(通常是商业逻辑处理)。

      常见的RPC框架

      • GRPC是当代开放源码高性能RPC高性能框架,可在任何环境中发挥作用,它可以通过插接支持将数据中心内部和之间的服务有效地连接起来,以提供负载平衡、跟踪、操作状态检查和识别。它也适用于连接设备、移动应用程序和浏览器的最后一英里分布计算,用于后端服务。
      • Trift是建造可扩展的跨语言服务的软件框架,它将复杂的软件堆和代码生成器结合起来,以建立在C++、Java、Python、PHP、Ruby、Errang、Perl、Haskell、C#、Coco、JavaScript、Node.js、Smalltalk和OOCaml上顺利整合和高效的服务。
      • Dubbo是一个分布式服务框架和SOA治理应用程序,除其他外,其职能包括高性能的NIO通信和多协议一体化、动态地点和服务路线搜索、软负载平衡和容忍误差、依赖分析和降级。
      • 春云由各种次级项目组成,包括春云配置、春云网和春云领事。
        配置管理、服务发现、断路器、智能路由器、微试剂、控制总线、一次性象征性、全球锁、主选择、分布式会话和集束状态是设计分布式系统和微型服务通常使用的技术之一。 春云基于“ 春云 ” ( Spring Bot), 使得开发部署相对简单。

      (3) HTTP和RPC之间的差异

      • HTTP是一种合同,而RPC是一个框架。
      • RPC只是解决多种服务之间的呼叫问题的一种想法和设计,这种服务通常包括传输协议和序列协议,可以直接建立在TCP或HTTP协议的基础上。
      • 保护竞争委员会框架大多是TPCP连接(GRPC是HTTP2)。

      一种普遍的误解:HTTP协议比直言的TCP报告更昂贵,与连接设置和分离有关的费用较高。

      第一是辩称,HTTP协议与Speak TCP报告协议不具有可比性,额外费用是由于连接设置和终止造成的。
      • HTTP协议是允许连接池再利用,即产生一定数量的连接,在不经常创建和迁移的情况下保持开放。
      • HTTP和Protobuf之间的区别是运输机制,可采用Protobuf等二进制编码方法编码内容。

      4) REST和GRPC

      REST通常以商业为导向,以相当基本的方式将就物体采取的行动映射成HTTP动词,利用浏览器进行扩展和传输,利用JSON数据完成客户与服务之间的通信,通过请求/答复直接便利通信,不需要中间代表,简化系统架构,仅通过互联网完成不同系统之间的数据传输,通常以商业为导向,以相当基本的方式将就物体采取的行动映射成HTTP动词,利用浏览器进行扩展和传输,利用JSON数据完成客户与服务之间的通信,通过请求/答复直接便利通信,不需要中间代表,简化系统架构,仅通过互联网完成不同系统之间的数据传输。

      • 然而,REST有一些缺点,包括只向单一的通信渠道提供请求/答复,通过对物体和字符串之间的行动进行排序,可以影响信息传输速度;要求客户通过服务发现了解服务地点;难以为一项请求获取许多资源;有时难以将所有行动纳入HTTP动词。

      由于与RET有关的问题,GRPC,即谷歌开放源码RPC移动和HTTP/2结构框架,可以作为一种替代办法。

      gRPC是一个基于二元的通信协议,它使得能够使用基于协议的缓冲 IDL定义的Grpc API,谷歌开发的一种语言中性排序机制,以提供顺序结构化数据,以及客户和服务提供方在HTTP/2上以协议缓冲格式交换二元信息。

      • GRPC的好处是,API原本是一个复杂的更新操作,非常简单,具有高效和紧凑的程序通信机制,在大量信息交流方面十分高效,能够利用双向流动信息进行远程程序通话和传递信息,以各种语文获得客户和服务供应商的支持,并且具有高度的互操作性;然而,GRPC的缺点是它不是共同开发的。

      gRPC的优势:

      • gRPC通信采用有效的二进制电文格式原始软件进行排序,该软件在服务器和客户计算机上快速排序。 Protobuf的序列信息非常短,能够携带有效载荷,这对于诸如移动应用程序等限制带宽情况下至关重要。
      • 代码生成:所有GRPC框架都提供一流代码生成能力。GRPC的核心文件是*.Proto,它描述了GRPC服务和信息的合同。根据该文件,GRPC框架将产生基于服务的课程、信息以及整个客户代码。
      • 严格监管:《菲律宾妇女进步委员会守则》是菲律宾妇女进步委员会服务必须遵循的格式,消除分歧,为开发商节省时间,因为它在平台和各种成就上是统一的。
      • 其他资料来源:https://ww.un.org/I'm sorry, cnblogs, cnblogs, cnblogs, cnblogs, cnblogs, cnblogs, cnblogs, cnblogs, cnblogs, cnblogs, cnblogs, cnblogs, cnblogs, cnblogs, cnblogs, cnblogs, blogs, cnblogs, cnblogs, cnblogs, cnblogs, nblogs, 。 https://ww.un.org/I'm sorry, https://ww.un.org/I'm sorry, cnblogs,

      建议利用菲律宾农村保护委员会现场:

      • 微服务:GRPC是为低延迟、高吞吐量通信设计的。 GRPC与对效率至关重要的轻微服务合作良好。
      • 点对点实时通信:GRPC非常支持双向媒体。 GRPC的服务可以不问话即时传递信息。
      • 多语种混合发展环境:由于菲律宾农村康复委员会的工具支持所有主要方案编制语言,因此它是多语种发展环境的绝佳选择。
      • 在网络受限制的情况下,使用Protobuf(轻量级信息格式)将GRPC通信序列化。 GRPC信息总是小于JSON信息。

      gRPC的弱点:

      • 浏览器支持有限 : 目前, 直接从浏览器中拨打 gRPC 服务不可行 。 gRPC 严重依赖 HTTP/2 能力, 缺少浏览器来提供 GRPC 客户端 Web 请求所需的控制程度 。 例如, 浏览器不允许 HTTP/2, 或者提供访问底部 HTTP/2 框架的机会 。
      • HTTP API 请求以文字形式传送,可以由人读懂和作出。 默认情况下, gRPC 信件使用 protobuf 编码。 虽然 Protobuf 在传输和接收时非常高效, 但是其二进制格式无法读取 。 Protobuf 需要 * 。 Proto 文件中提供的信息界面描述是适当的反顺序。 需要添加工具来分析线上的 Protobuf 有效载荷和手动构建请求 。

      不建议利用菲律宾革命卫队的场景:

      • 浏览器可以访问 API : 浏览器不完全支持 gRPC。 gRPC- Web 可以提供浏览器支持, 但是它有限制, 并引入了服务器代理 。
      • 电台实时通信:GRPC能够通过流媒体进行实时通信,但是没有将信息传送到已登记的连接点的概念。例如,在应当发送给聊天室所有客户的聊天室场景中,每通一次GRPC电话就有必要将新的对话流分别发送给客户。SignalR是这一情景的合适框架。SignalR包含长久连通的概念和广播信息传输实时通信的内在支持:GRPC能够通过流媒体实时通信,但是没有将信息传送到已登记的连接点的概念。例如,在应当发送到聊天室所有客户的聊天室场景中,每通一次GRPC电话就有必要将新的对话流分别发送给客户。SignalR是这一情景的合适框架。SignalR包含永久连通和对广播信息传输的内在支持概念。
      • 程序间通信:为了接收一个接通的GRPC电话,该程序必须携带HTTP/2服务。对Windows来说,程序间通信管道是一种快速、轻便的通信形式。

      【部分内容参考自】

      • HTTP 的本质是什么? HTTP 和 RPC有什么区别? 我不知道,牛仔裤。这篇文章是我们特别报导全球之声在线.com/p/fe5ccfc5d7bd的一部分。com/p/fe5ccfc5d7bd
      • 这篇文章是我们特别报导全球之声Online.com/p/7d6853140e13的一部分。
      • RPC 3询问,“RPC框架是什么?” 实现这一框架的理由是什么? SOA和REST有什么区别?我不知道,牛仔裤。这篇文章是我们特别报导全球之声(Global Voice.com/p/210c34970529)的一部分。
      • 为什么不简单地使用HTTP来代替RPC? https://network.org/?
      • 博客、博客、博客、博客、博客、博客、博客、博客、博客、博客、博客、博客、博客、博客、博客、博客、博客、博客、博客、博客、博客、博客、博客、博客、博客、博客、博客、博客、博客、博客、博客、博客、博客、博客、博客、博客、博客、博客、博客、博客、博客、博客、博客、博客、博客、博客、博客、博客、博客、博客、博客、博客、博客、博客、博客、博客、博客、博客、博客、博客、博客、博客、博客、博客、博客、博客、博客、博客、博客、博客、博客、博客、博客、博客、博客、博客、博客、博客、博客、博客、博客、博客、博客、博客、博客、博客、博客、博客、博客、博客、博客、博客、博客、博客、博客、博客、博客、博客、博客、博客、博客、博客、博客、博客、博客、博客、博客、博客、博客、博客、博客、博客。

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

          热门文章

          文章分类