RPC接口简介「建议收藏」

RPC接口简介「建议收藏」什么是RPCRPC(RemoteProcedureCallProtocol)远程过程调用协议。一个通俗的描述是:客户端在不知道调用细节的情况下,调用存在于远程计算机上的某个对象,就像调用本地应用程序中的对象一样。比较正式的描述是:一种通过网络从远程计算机程序上请求服务,而不需要了解底层网络技术的协议。RPC的特点:RPC是协议。只是协议,而非实现。RPC实现包括:Dubbo、Thri…

大家好,又见面了,我是你们的朋友全栈君。如果您正在找激活码,请点击查看最新教程,关注关注公众号 “全栈程序员社区” 获取激活教程,可能之前旧版本教程已经失效.最新Idea2022.1教程亲测有效,一键激活。

Jetbrains全系列IDE稳定放心使用

什么是RPC

RPC(Remote Procedure Call Protocol)远程过程调用协议。一个通俗的描述是:客户端在不知道调用细节的情况下,调用存在于远程计算机上的某个对象,就像调用本地应用程序中的对象一样。比较正式的描述是:一种通过网络从远程计算机程序上请求服务,而不需要了解底层网络技术的协议。

RPC的特点:

  1. RPC是协议。只是协议,而非实现。RPC实现包括:Dubbo、Thrift、GRPC、Hetty等。
  2. 网络协议和网络IO模型对其透明。RPC的客户端认为自己是在调用本地对象,因此其对使用的网络协议(HTTP协议等)以及网络IO模型,是不关心的。
  3. 信息格式对其透明。调用方法是需要传递参数的,对于远程调用来说,传递过程中参数的信息格式是怎样构成,以及提供者如何使用这些参数,都是不用关心的。
  4. 有跨语言能力。因为调用方实际上也不清楚远程服务器的应用程序是使用什么语言运行的。那么对于调用方来说,无论服务器方使用的是什么语言,本次调用都应该成功,并且返回值也应该按照调用方程序语言所能理解的形式进行描述。

常用的RPC框架:

  1. Thrift:thrift是一个软件框架,用来进行可扩展且跨语言的服务的开发,包括 C++, Java, Python等多种编程语言。
  2. Dubbo:Dubbo是一个分布式服务框架,以及SOA治理方案。其功能主要包括:高性能NIO通讯及多协议集成,服务动态寻址与路由,软负载均衡与容错,依赖分析与降级等。
  3. Spring Cloud:提供了搭建分布式系统及微服务常用的工具,满足了构建微服务所需的所有解决方案。
  4. gRPC: 一开始由 google 开发,是一款语言中立、平台中立、开源的远程过程调用(RPC)系统。

RPC接口与HTTP对比

  1. 传输协议。RPC:可以基于TCP协议,也可以基于HTTP协议;HTTP:基于HTTP协议
  2. 传输效率。RPC:使用自定义的TCP协议,可以让请求报文体积更小,或者使用HTTP2协议,也可以很好的减少报文的体积,提高传输效率;HTTP:如果是基于HTTP1.1的协议,请求中会包含很多无用的内容,如果是基于HTTP2.0,那么简单的封装下是可以作为一个RPC来使用的。
  3. 性能消耗。RPC:可以基于thrift实现高效的二进制传输;HTTP:大部分是通过json来实现的,字节大小和序列化耗时都比thrift要更消耗性能。
  4. 负载均衡。RPC:基本都自带了负载均衡策略;HTTP:需要配置Nginx,HAProxy来实现。
  5. 服务治理。RPC:能做到自动通知,不影响上游;HTTP:需要事先通知,修改Nginx/HAProxy配置。

https://cloud.tencent.com/developer/article/1353110

https://blog.csdn.net/k_x_sh/article/details/88837410

RPC调用过程

https://www.cnblogs.com/FG123/p/10261676.html

版权声明:本文内容由互联网用户自发贡献,该文观点仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 举报,一经查实,本站将立刻删除。

发布者:全栈程序员-用户IM,转载请注明出处:https://javaforall.cn/182343.html原文链接:https://javaforall.cn

【正版授权,激活自己账号】: Jetbrains全家桶Ide使用,1年售后保障,每天仅需1毛

【官方授权 正版激活】: 官方授权 正版激活 支持Jetbrains家族下所有IDE 使用个人JB账号...

(0)


相关推荐

  • vm虚拟机安装win11_虚拟机15.5安装教程win7

    vm虚拟机安装win11_虚拟机15.5安装教程win7首先下载好虚拟机以及系统,并且把iso镜像解压好!打开虚拟机! 首先,选择创建虚拟机,然后选择典型.点击下一步! 选择你刚才下载的iso镜像文件.点击下一步! 选择XP版本,点击下一步,下一步是系统的存放位置,和系统名字,看自己怎么样方便吧!在点击下一步,是磁盘空间,这个随便选都可以,如果安装的系统系统用多少内存,就会消耗本机硬盘多少内存,没关系…

  • 计算机正在配置无法关机,关机提示 windows7 正在配置windows 请勿关闭计算机 ,然后等了一晚上也没有关掉。现在电脑无法正常关机…「建议收藏」

    计算机正在配置无法关机,关机提示 windows7 正在配置windows 请勿关闭计算机 ,然后等了一晚上也没有关掉。现在电脑无法正常关机…「建议收藏」关机提示windows7正在配置windows请勿关闭计算机,然后等了一晚上也没有关掉。现在电脑无法正常关机以下文字资料是由(历史新知网www.lishixinzhi.com)小编为大家搜集整理后发布的内容,让我们赶快一起来看一下吧!关机提示windows7正在配置windows请勿关闭计算机,然后等了一晚上也没有关掉。现在电脑无法正常关机有进程失去响应不能结束,所以停留在这个状态…

  • serverless云开发_京东云与京东关系

    serverless云开发_京东云与京东关系在云原生技术全面爆发之前,我们开发的应用可以被称为非云原生应用,非云原生应用并没有考虑到应用的弹性和规模性,甚至很多都不具备扩展性,当业务规模扩大时,特别依赖硬件的升级,进而带来了很多问题。云原生的出现带来了新的开发方式,然而这一技术处于快速的发展过程中,导致很难定义清楚各类概念和理解各种技术名词。为此,Infoq专门采访了京东云中间件团队负责人李道兵,了解京东云在云原生领域的理念和…

    2022年10月10日
  • 微信裂变推广_朋友圈转发送红包营销

    微信裂变推广_朋友圈转发送红包营销维信超级引流红包裂变游戏源码维信超级引流红包裂变游戏源码,H5拆红包源码强制分享朋友圈,可以强制分享两次朋友圈、三个群,分享成功后自动跳转到你的广告页面,访客点击返回跳转广告页面,可以强制分享两次朋友圈,三个群,分享成功后自动跳转到你的广告页面,访客点击返回跳转广告页面。2022超级热门引流红包裂变微信分享朋友圈广告游戏源码-PHP文档类资源-CSDN下载微信超级引流红包裂变游戏源码微信超级引流红包裂变游戏源码,H5拆红包源码强制分享朋友圈,可以更多下载资源、学习资料请访问CSDN下载频道.ht

  • Netty框架的下载「建议收藏」

    1.Netty框架Jar包的下载:上图中标记的点都需要√上,并且文件夹的位置表示,会将下载好的Netty中的相关文件放在指定的目录下的lib文件夹下面。然后点击搜索,在下拉框中选择合适的版本进行下载…

  • 解决Linux TIME_WAIT过多造成的问题[通俗易懂]

    解决Linux TIME_WAIT过多造成的问题[通俗易懂]1、time_wait的作用:TIME_WAIT状态存在的理由:1)可靠地实现TCP全双工连接的终止在进行关闭连接四次挥手协议时,最后的ACK是由主动关闭端发出的,如果这个最终的ACK丢失,服务器将重发最终的FIN,因此客户端必须维护状态信息允许它重发最终的ACK。如果不维持这个状态信息,那么客户端将响应RST分节,服务器将此分节解释成一个错误(在java中会抛出co…

发表回复

您的电子邮箱地址不会被公开。

关注全栈程序员社区公众号