华强电子网

电子元器件
采购信息平台

扫码下载
手机洽洽

  • 微信小程序

    让找料更便捷

  • 扫码下载手机洽洽

    随时找料

    即刻洽谈

    点击下载PC版
  • 华强电子网公众号

    电子元器件

    采购信息平台

  • 华强电子网移动端

    生意随身带

    随时随地找货

  • 华强商城公众号

    一站式电子元器件

    采购平台

  • 芯八哥公众号

    半导体行业观察第一站

RPC是干嘛的?RPC调用和HTTP调用的区别

来源:华强电子网 作者:NV 浏览:170

标签: http

摘要: RPC是干嘛的?RPC(Remote Procedure Call)是一种通信协议,用于在计算机网络中的不同进程或计算机之间进行通信和调用远程过程或函数。

RPC是干嘛的?RPC(Remote Procedure Call)是一种通信协议,用于在计算机网络中的不同进程或计算机之间进行通信和调用远程过程或函数。它允许程序开发人员编写分布式应用程序,使得这些应用程序可以在不同的计算机上运行,通过网络进行交互。


使用RPC,开发人员可以像调用本地函数一样调用远程服务器上的函数或过程。当一个应用程序需要使用其他计算机上的功能时,它可以通过RPC发送请求,远程服务器接收到请求后执行相应的函数或过程,并将结果返回给请求的应用程序。


RPC调用可以隐藏底层网络通信的复杂性,使得开发人员可以像调用本地函数一样调用远程函数,从而简化了分布式应用程序的开发过程。它被广泛应用于各种分布式系统和服务,例如微服务架构、远程API调用等。RPC调用的工作流程如下:

1、客户端应用程序调用本地的客户端存根(stub)函数,提供要调用的远程函数的参数。

2、客户端存根将参数打包成消息,并通过网络发送给远程服务器。

3、服务器接收到请求后,将请求消息解包,调用相应的服务器存根函数,并将结果打包成响应消息。

4、响应消息通过网络发送回客户端。

5、客户端存根接收到响应消息后,解包结果,并将结果返回给客户端应用程序。


RPC调用和HTTP调用的区别


1、协议和通信方式:RPC调用使用专门的RPC协议进行通信,而HTTP调用使用HTTP协议。RPC协议通常是基于二进制格式的,而HTTP协议使用文本格式。


2、数据传输格式:RPC调用通常使用二进制编码来传输数据,以提高效率和性能。相比之下,HTTP调用使用文本格式(如JSON、XML等)来传输数据,更易读但相对更大。


3、接口描述和约定:RPC调用通常使用接口描述语言(IDL)来定义服务接口和数据结构,并生成客户端和服务器端的代码。这样可以确保客户端和服务器端之间的接口约定一致。HTTP调用通常使用RESTful风格的接口,但没有像RPC那样的严格接口描述和约定。


4、语言和平台支持:由于RPC调用使用了特定的协议和IDL,不同编程语言和平台需要支持相应的RPC框架。而HTTP调用是基于标准的HTTP协议,几乎所有的编程语言和平台都有对HTTP的支持。


5、执行模型:RPC调用通常采用同步的执行模型,即客户端发起调用后会等待服务器端返回结果。而HTTP调用可以是同步或异步的,可以使用多种方式(如回调、轮询、长连接等)来实现异步通信。


6、适用场景:RPC调用更适用于内部系统或服务之间的通信,特别是在要求高性能和低延迟的场景下。HTTP调用更适合于公共网络环境下的通信,更易于跨越不同的网络边界。


需要注意的是,虽然RPC和HTTP调用在很多方面有所区别,但RPC也可以基于HTTP协议进行通信,这种称为HTTP RPC。这样可以在现有的基础设施上实现RPC风格的通信,同时利用HTTP的广泛支持和可扩展性。

型号 厂商 价格
EPCOS 爱普科斯 /
STM32F103RCT6 ST ¥461.23
STM32F103C8T6 ST ¥84
STM32F103VET6 ST ¥426.57
STM32F103RET6 ST ¥780.82
STM8S003F3P6 ST ¥10.62
STM32F103VCT6 ST ¥275.84
STM32F103CBT6 ST ¥130.66
STM32F030C8T6 ST ¥18.11
N76E003AT20 NUVOTON ¥9.67