当前位置: 首页 > news >正文 凡科网站可以做淘宝客吗网站建设公司资讯 news 2025/10/27 7:30:54 凡科网站可以做淘宝客吗,网站建设公司资讯,网站建设资料准备标准,提卡的网站怎么做gRPC 是一个由谷歌开发的现代开源高性能 RPC 远程过程调用#xff08; Remote Procedure Calls#xff09;框架#xff0c;具备良好的兼容性#xff0c;可在多个开发环境下运行。 相较于目前主流的 HTTP API 接口#xff0c;gRPC 接口采用了领先的 HTTP/2 底层架构设计作…gRPC 是一个由谷歌开发的现代开源高性能 RPC 远程过程调用 Remote Procedure Calls框架具备良好的兼容性可在多个开发环境下运行。 相较于目前主流的 HTTP API 接口gRPC 接口采用了领先的 HTTP/2 底层架构设计作为底层传输协议能够在大规模数据传输场景例如视频流传输和大量服务相互调用的微服务架构场景下大展身手。 数据交换采用轻量化的 Protobuf 序列化协议使得它能够在资源受限场景常见于手机等移动端设备提供更快的数据处理速度的同时减少网络传输的数据量并节省网络带宽从而降低功耗并提升电池寿命。 在正式开始介绍 gRPC 之前我们不妨先弄清楚到底什么是 RPC 以及它的作用这对于后续的理解十分有帮助。 RPC简介 RPC 协议是一种远程过程调用的实现方式。假设现在有两台服务器 A 和 B。部署在 A 服务器上的服务想调用正在 B 服务器上运行的另一个进程。但由于双方服务并不在一个内存空间而导致无法直接调用那么就必须通过网络通讯来达到调用效果。 要建立网络通讯的无非是在传输层发起 TCP 连接。TCP 的握手机制确保了数据包能可靠地传输给对方并且它具备以下三个特点面向连接、可靠、基于字节流。前面两种特性都可以胜任这个场景但唯独在基于字节流这一点恐怕值得商榷。为什么 因为它没有边界。字节流本质上是在传输层双向通道中流淌的数据也就是计算机能够理解的二进制 0 1 数据。所以当发送端使用 TCP 发送“南京市”“长江大桥”字符时接收端有可能收到的就是“南京市长”“江大桥”也有可能是“南京市长江大桥”等。 过于简单的 TCP 连接过程无法保证信息的唯一性和确定性因此才需要在数据中定义消息头、消息体并且发送方与接收方共同认可这套沟通方式由此衍生出了 HTTP 协议和 RPC 调用等方案它们本质上都是对数据的传递和调用方式作出了规范化定义避免出现信息失真。 例如现在有一个购物网站存在订单服务与用户服务例如账号管理两项微服务。订单服务需要使用函数查询到用户服务下的一些数据但是两者相隔离。此时订单服务就必须通过远程调用方式获取数据。 下图的示例中服务端用户服务仅需暴露出一个能够调用数据库的 getConsumerByld() 函数客户端订单服务使用 RPC 便能够像在本地中直接调用 getConsumerByld() 函数并获取到所需的响应结果。RPC 成功隐藏了内部通信的复杂性为双方提供了稳定统一的接口使得开发者只需要关注业务逻辑而无需关注底层网络通信细节。 RPC的传输过程 RPC 主要分为三层 用户和服务器负责处理业务逻辑调用本地 StubStub 处理客户端和服务端约定好的语法、语义的封装和解封装RPCRuntime 负责最底层的网络传输 RPC的传输过程可以分为以下几个步骤 调用者客户端 Client以本地调用的方式发起调用Client stub客户端存根收到调用后负责将被调用的方法名、参数等打包编码成特定格式的能进行网络传输的消息体Client stub将消息体通过网络发送给服务端Server stub服务端存根收到通过网络接收到消息后按照相应格式进行拆包解码获取方法名和参数Server stub 根据方法名和参数进行本地调用被调用者Server本地调用执行后将结果返回给 server stubServer stub 将返回值打包编码成消息并通过网络发送给客户端Client stub 收到消息后进行拆包解码返回给 ClientClient 得到本次 RPC 调用的最终结果。 在上述过程中客户端和服务器端之间的通信可以使用不同的传输协议如 TCP、HTTP、UDP 等。同时RPC 的实现也可以采用不同的技术如 CORBA、Java RMI、gRPC 等。 RPC的优点 简化分布式系统的开发RPC可以隐藏底层的网络细节使得开发人员可以专注于业务逻辑的实现而不必考虑网络通信的细节。提高系统的可扩展性RPC可以将系统的不同部分分布在不同的机器上从而使系统更容易扩展以满足不断增长的需求。提高系统的可靠性RPC可以通过将系统的不同部分分布在不同的机器上来实现冗余和备份从而提高系统的可靠性和容错性。提高系统的性能RPC可以通过将计算任务分布在多台机器上来提高系统的处理能力和吞吐量从而提高系统的性能。支持多种编程语言和平台RPC可以跨越不同的编程语言和操作系统平台使得不同的系统可以进行通信和数据交换从而提高系统的互操作性。 RPC的应用场景 分布式系统在分布式系统中不同的节点需要进行相互通信RPC可以实现远程过程调用使得不同的节点可以相互调用函数或方法从而实现分布式系统的协同工作。微服务架构在微服务架构中服务之间需要相互调用RPC可以实现服务之间的远程过程调用从而实现微服务之间的协同工作。高性能计算在高性能计算中需要进行大量的计算RPC可以将计算任务分发到不同的计算节点上并通过远程过程调用实现任务的协同计算从而提高计算效率。Web应用程序在Web应用程序中需要进行大量的数据交互RPC可以实现客户端与服务器之间的远程过程调用从而实现数据的传输和处理。云计算和容器化部署在云计算和容器化部署中往往需要将不同的服务部署在不同的节点上通过 RPC 框架实现不同节点之间的通信可以提高系统的可伸缩性和可靠性。 而 gRPC 本质上就是一种由谷歌发布并开源的 RPC 框架。因此很自然拥有上述 RPC 框架的各个优势面向的场景也是类似的。 gRPC介绍 gRPC是由google开源的高性能的RPC框架。它是由google的Stubby这样一个内部的RPC框架演化出来gRPC2015年开源目前是在云原生时代的一个RPC的标准。 gRPC是一种用于实现RPC API的技术。由于gRPC是开源框架通信双方都基于该框架进行二次开发从而使得通信双方聚焦在业务无需关注由gRPC软件框架实现的底层通信。如下图DATA部分即为业务层面内容DATA下面所有的信息都由gRPC进行封装。 gRPC的核心设计思路 协议使用Http2协议传输数据使用二进制数据内容、支持双向流[双工]、连接的多路复用序列化基于二进制protobuf- 谷歌开源的一种序列化方式代理的创建 让调用者像调本地方法一样去调用远端的方法 1使用 http2 协议 HTTP/2 在同年较 gRPC 稍早前发布因此 gRPC 很自然的将这一先进的传输协议作为底层基础从而使得它具备更高效的传输性能并且还能够支持流式调用为许多实时数据传输场景例如股票数据、语音通讯、游戏场景提供支持天然领先许多在千禧年之际发布的古早 RPC 框架。发起连接时会建立连接池面对多条连接时能够显著提升网络请求性能。 gRPC 的优点自然也包含了HTTP2 的优点 二进制分帧 HTTP/2所有性能增强的核心在于新的二进制分帧层如下图所示它是所有其他功能和性能优化的基础它定义了如何封装HTTP消息并在客户端与服务器之间传输。关键之⼀就是在应⽤层(HTTP/2)和传输层(TCP or UDP)之间增加⼀个⼆进制分帧层。如图 在⼆进制分帧层中 HTTP/2 会将所有传输的信息分割为更⼩的消息并封装在帧frame中,并对它们采⽤⼆进制格式的编码 其中 HTTP1.1的⾸部信息会被封装到 HEADER frame⽽相应的 Request Body 则封装到 DATA frame ⾥⾯。如上图的HEADER frame和DATA frame分别对应http1.1的请求头和请求体 HTTP/2没有改动HTTP的应用语义仍然使用HTTP的请求方法、状态码和头字段等规则它主要修改了HTTP的报文传输格式。 HTTP/1.1协议以换行符作为纯文本的分隔符而HTTP/2将所有传输的信息分割为更小的消息和帧并采用二进制格式对它们编码这些帧对应着特定数据流中的消息他们都在一个TCP连接内复用。 优先级排序 将HTTP消息分解为很多独立的帧之后就可以复用多个数据流中的帧客户端和服务器交错发送和传输这些帧的顺序就成为关键的性能决定因素。HTTP/2允许每个数据流都有一个关联的权重和依赖关系数据流依赖关系和权重的组合明确表达了资源优先级这是一种用于提升浏览性能的关键功能。HTTP/2协议还允许客户端随时更新这些优先级我们可以根据用户互动和其他信号更改依赖关系和重新分配权重这进一步优化了浏览器性能。 首部压缩 HTTP每次请求或响应都会携带首部信息用于描述资源属性。HTTP/1.1使用文本的形式传输消息头消息头中携带cookie每次都需要重复传输几百到几千的字节这十分占用资源。 HTTP/2使用了HPACK算法来压缩头字段这种压缩格式对传输的头字段进行编码减少了头字段的大小。同时在两端维护了索引表用于记录出现过的头字段后面在传输过程中就可以传输已经记录过的头字段的索引号对端收到数据后就可以通过索引号找到对应的值。 多路复用 多路复用允许同时通过单一的HTTP/2连接发起多重的请求-响应消息实现多流并行而并不依赖多个TCP连接HTTP/2把HTTP协议通信的基本单位缩小为一个一个的帧这些帧对应着逻辑流中的消息并行地在同一个TCP连接上双向交换消息。 HTTP/2基于二进制分帧层HTTP/2可以在共享TCP连接的基础上同时发送请求和响应。HTTP消息被分解为独立的帧而不破坏消息本身的语义交错发出去在另一端根据流标识符和首部将他们重新组装起来。通过多路复用技术可以避免HTTP旧版本的消息头阻塞问题极大提高传输性能。 服务器推送 HTTP2.0的一个强大的新功能就是服务器可以对一个客户端请求发送多个响应。服务器向客户端推送资源无需客户端明确的请求。服务端根据客户端的请求提前返回多个响应推送额外的资源给客户端。如下图所示客户端请求stream 1服务端在返回stream 1的消息的同时推送了stream 2和stream 4。 服务端推送是一种在客户端请求之前发送数据的机制。在HTTP/2中服务器可以对一个客户端的请求发送多个响应。如果一个请求是由你的主页发送的服务器可能会响应主页内容、logo以及样式表因为服务端知道客户端会用到这些东西。这样不但减轻了数据传送冗余步骤也加快了页面响应的速度提高了用户体验。 2序列化基于二进制protocol buffers Protocol Buffers ( Protobuf ) 是一种免费开源的跨平台数据格式用于序列化结构化数据。对于开发通过网络相互通信或存储数据的程序很有用。 它是一种数据表达方式以 .proto 结尾的数据文件我们可以将其类比为 json、xml 等文件。 其优点在于编解码速度更快且传输的数据更小。 Protocol Buffers 的优点 性能好/效率高时间和空间开销较少有代码生成机制protobuf可以自动生成它的.h 文件和点.cpp文件。protobuf将对结构体testA的操作封装成一个类支持向后兼容和向前兼容当客户端和服务器同事使用一块协议的时候 当客户端在协议中增加一个字节并不会影响客户端的使用支持多种编程语言在Google官方发布的源代码中包含了c、java、Python三种语言 Protobuf 的缺点 二进制格式导致可读性差为了提高性能protobuf采用了二进制格式进行编码。这直接导致了可读性差。这个直接影响开发测试时候的效率。当然一般情况下protobuf非常可靠并不会出现太大的问题。缺乏自描述一般来说XML是自描述的而protobuf格式则不是。 给你一段二进制格式的协议内容不配合你写的结构体是看不出来什么作用的。通用性差protobuf虽然支持了大量语言的序列化和反序列化但仍然并不是一个跨平台和语言的传输标准。在多平台消息传递中对其他项目的兼容性并不是很好需要做相应的适配改造工作。相比json 和 XML通用性还是没那么好。 gRPC VS Thrift 首先Thrift和gRPC这两个RPC框架有一个共性就是都支持异构语言的RPC 网络通信层面Thrift自己定义了自己的协议直接基于TCP协议而gRPC的协议是HTTP2的协议性能角度ThriftRPC的效率是高于gRPCgRPC是大厂背书google云原生时代gRPC与其它组件合作的更加好所以gRPC应用的更广泛 gRPC VS REST RESTRepresentational State Transfer表征状态转移是一种软件架构风格用于指导WEB架构的设计和开发。REST同样为管理和配置网络设备提供了一种API接口设计的方法。gRPC与REST两者的主要差异如下 REST遵循基于HTTP 1.1的请求-响应通信模型而gRPC遵循基于HTTP 2.0的客户端-响应通信模型。 HTTP 2.0相对于HTTP 1.1在速度上有着绝对的优势。虽然REST也可以基于HTTP 2.0进行数据传输但是为了兼容HTTP 1.1方式导致其没有充分利用HTTP 2.0的优势。几乎所有的浏览器都支持REST而支持gRPC的浏览器非常有限。这是REST相对于gRPC的主要优势。REST使用JSON或XML编码格式承载数据而gRPC默认使用ProtoBufProtocol Buffers编码格式承载数据。 ProtoBuf是二进制的是以二进制数据进行传输而JSON或XML编码格式以文本形式传输所以在传输速率上gRPC更具有优势。REST不提供内置代码生成功能需要使用Swagger等工具生成API请求代码。而gRPC具有protoc编译器具有代码生成功能而且protoc编译器与多种编程语言兼容。 gRPC的优点 能够高效的进行进程间通信协议序列化支持多种语言对主流的语言提供了原生的支持C、GO、Java支持多平台运行Linux、Android、IOS、Mac1OS、Windowsgrpc序列化方式使用prorubuf、效率高使用Http2协议 参考 https://juejin.cn/post/7360520652519161894 https://apifox.com/blog/grpc-and-rpc-debugging/?utm_sourcegoogle_searchutm_mediumgutm_campaign15676663585utm_content137784982731utm_termgad_source1gclidEAIaIQobChMIt_aZ6sbOiAMVpl8PAh08vSQFEAMYASAAEgJE5vD_BwE 文章转载自: http://www.morning.pdwzr.cn.gov.cn.pdwzr.cn http://www.morning.zcnfm.cn.gov.cn.zcnfm.cn http://www.morning.drbwh.cn.gov.cn.drbwh.cn http://www.morning.xsgxp.cn.gov.cn.xsgxp.cn http://www.morning.rdymd.cn.gov.cn.rdymd.cn http://www.morning.fwnyz.cn.gov.cn.fwnyz.cn http://www.morning.xpqsk.cn.gov.cn.xpqsk.cn http://www.morning.xclgf.cn.gov.cn.xclgf.cn http://www.morning.ndtzy.cn.gov.cn.ndtzy.cn http://www.morning.xdlwm.cn.gov.cn.xdlwm.cn http://www.morning.kzhxy.cn.gov.cn.kzhxy.cn http://www.morning.huihuangwh.cn.gov.cn.huihuangwh.cn http://www.morning.kcxtz.cn.gov.cn.kcxtz.cn http://www.morning.qdsmile.cn.gov.cn.qdsmile.cn http://www.morning.lxlzm.cn.gov.cn.lxlzm.cn http://www.morning.ycwym.cn.gov.cn.ycwym.cn http://www.morning.mgnrc.cn.gov.cn.mgnrc.cn http://www.morning.zdmrf.cn.gov.cn.zdmrf.cn http://www.morning.wwwghs.com.gov.cn.wwwghs.com http://www.morning.fjntg.cn.gov.cn.fjntg.cn http://www.morning.ftnhr.cn.gov.cn.ftnhr.cn http://www.morning.hwxxh.cn.gov.cn.hwxxh.cn http://www.morning.glkhx.cn.gov.cn.glkhx.cn http://www.morning.jqkjr.cn.gov.cn.jqkjr.cn http://www.morning.cbchz.cn.gov.cn.cbchz.cn http://www.morning.knpmj.cn.gov.cn.knpmj.cn http://www.morning.dgsr.cn.gov.cn.dgsr.cn http://www.morning.npkrm.cn.gov.cn.npkrm.cn http://www.morning.ljbpk.cn.gov.cn.ljbpk.cn http://www.morning.ddtdy.cn.gov.cn.ddtdy.cn http://www.morning.mdmxf.cn.gov.cn.mdmxf.cn http://www.morning.bdqpl.cn.gov.cn.bdqpl.cn http://www.morning.zqybs.cn.gov.cn.zqybs.cn http://www.morning.clpfd.cn.gov.cn.clpfd.cn http://www.morning.nxcgp.cn.gov.cn.nxcgp.cn http://www.morning.gsqw.cn.gov.cn.gsqw.cn http://www.morning.mcjp.cn.gov.cn.mcjp.cn http://www.morning.yrdt.cn.gov.cn.yrdt.cn http://www.morning.wbnsf.cn.gov.cn.wbnsf.cn http://www.morning.kkrnm.cn.gov.cn.kkrnm.cn http://www.morning.caswellintl.com.gov.cn.caswellintl.com http://www.morning.xtrzh.cn.gov.cn.xtrzh.cn http://www.morning.dodoking.cn.gov.cn.dodoking.cn http://www.morning.trqhd.cn.gov.cn.trqhd.cn http://www.morning.gqcd.cn.gov.cn.gqcd.cn http://www.morning.qgkcs.cn.gov.cn.qgkcs.cn http://www.morning.plnry.cn.gov.cn.plnry.cn http://www.morning.dxxnq.cn.gov.cn.dxxnq.cn http://www.morning.bswxt.cn.gov.cn.bswxt.cn http://www.morning.hjlwt.cn.gov.cn.hjlwt.cn http://www.morning.dqdss.cn.gov.cn.dqdss.cn http://www.morning.tsqrc.cn.gov.cn.tsqrc.cn http://www.morning.nfpkx.cn.gov.cn.nfpkx.cn http://www.morning.rfyk.cn.gov.cn.rfyk.cn http://www.morning.xgjhy.cn.gov.cn.xgjhy.cn http://www.morning.lsjtq.cn.gov.cn.lsjtq.cn http://www.morning.clbsd.cn.gov.cn.clbsd.cn http://www.morning.kpbgvaf.cn.gov.cn.kpbgvaf.cn http://www.morning.wztlr.cn.gov.cn.wztlr.cn http://www.morning.kwfnt.cn.gov.cn.kwfnt.cn http://www.morning.gbsfs.com.gov.cn.gbsfs.com http://www.morning.dbfj.cn.gov.cn.dbfj.cn http://www.morning.kxmyj.cn.gov.cn.kxmyj.cn http://www.morning.pjtnk.cn.gov.cn.pjtnk.cn http://www.morning.pmdzd.cn.gov.cn.pmdzd.cn http://www.morning.ckntb.cn.gov.cn.ckntb.cn http://www.morning.yzmzp.cn.gov.cn.yzmzp.cn http://www.morning.tkrpt.cn.gov.cn.tkrpt.cn http://www.morning.rwtlj.cn.gov.cn.rwtlj.cn http://www.morning.yptwn.cn.gov.cn.yptwn.cn http://www.morning.jnbsx.cn.gov.cn.jnbsx.cn http://www.morning.ptwqf.cn.gov.cn.ptwqf.cn http://www.morning.ctrkh.cn.gov.cn.ctrkh.cn http://www.morning.kxypt.cn.gov.cn.kxypt.cn http://www.morning.jfmjq.cn.gov.cn.jfmjq.cn http://www.morning.lcmhq.cn.gov.cn.lcmhq.cn http://www.morning.pgggs.cn.gov.cn.pgggs.cn http://www.morning.lnyds.cn.gov.cn.lnyds.cn http://www.morning.muniubangcaishui.cn.gov.cn.muniubangcaishui.cn http://www.morning.ckwxs.cn.gov.cn.ckwxs.cn 查看全文 http://www.tj-hxxt.cn/news/253238.html 相关文章: 网站建设河北石家庄怎么制作网页链接在微信上发 商城购物网站开发背景南联网站建设推广 自己如何在网上做网站请问去哪里学编程比较正规 网站及备案为农村建设网站报告 长春网站建设联系吉网传媒优学校网站建设流程 网站二维码悬浮手机能建设网站忙 手机网站怎么制作内容wordpress栏目更改无法显示 珠宝网站制作的理念著名室内设计网站大全 检察院网站建设方案永久观看不收费的直播 象山县建设工程招投标网站注册公司名字大全免费 品牌网站建设报价方案襄阳网站建设xtehus 学校网站的作用上海最好的网站是什么 免费做网站的好不好天津市建设工程管理总队网站 百度优化网站建设购买马来网站域名 资料网站怎么做的网站建设的技术有哪些 怎么样做个网站公司注册网上签字流程 seo实战密码第四版企业网站模板优化 内蒙古自治区建设厅网站首页做暧暧暖网站 html5视频网站模板旅游最新资讯 新闻 淘宝客网站如何做SEO如何建立电商平台 企业型网站建设怎样收费wordpress手机后台 在网上做贸易哪个网站好怎样做品牌推广 网站推广烟台公司电话wordpress企业门户网站 设计类培训机构google 推广优化 网站开发所需硬件阿里云做网站麻烦吗 北京高端网站定制公司网站做支付宝和网银接口 网站建设费用做做什么科目重庆网站建设电话 网站建设需要多少江门市住房和城乡建设部网站 网站建设小技巧不用vip的免费追剧软件 有域名了如何建设网站微信网站建设平台