what`s rpc

在计算机术语中,RPC 指的是 Remote Procedure Call(远程过程调用) 。它是一种进程间通信(IPC)机制,允许程序在不同的计算机或不同的进程上调用函数或方法,就像调用本地函数一样,而不需要关心底层的网络通信细节。

我给你分几个关键点解释:


1️⃣ 基本概念

  • 远程:调用的函数可能在另一台机器上或另一进程中。
  • 过程调用:程序调用一个函数,获取结果。
  • 透明性:调用方感觉像调用本地函数一样,但实际上网络或跨进程在背后完成了通信。

2️⃣ 工作原理

RPC 的流程一般如下:

  1. 客户端调用本地的"代理函数"(stub)。
  2. 代理函数打包参数(序列化)成消息,通过网络发送到远程服务器。
  3. 服务器端接收消息,反序列化得到参数。
  4. 服务器调用实际函数,执行逻辑,得到结果。
  5. 服务器序列化返回值,发回客户端。
  6. 客户端反序列化返回值,得到结果,调用完成。

⚡ 总结:RPC 把"跨网络调用函数"的复杂过程封装起来,让开发者感觉像调用本地函数。


3️⃣ RPC 的典型应用

  • 分布式系统:微服务之间的通信。
  • 数据库远程访问。
  • 云服务调用(例如 AWS Lambda 调用外部服务)。
  • 各种客户端-服务器架构。

4️⃣ 常见的 RPC 框架 / 协议

  • gRPC(Google 开发,支持多语言)
  • Thrift(Apache 项目)
  • JSON-RPC / XML-RPC(基于文本的轻量级 RPC)
  • Dubbo(阿里巴巴开源的 RPC 框架,Java 生态)

简单理解:RPC 就是让"远程的函数"调用像本地函数一样简单,底层通过网络、序列化、反序列化、代理函数来实现。

相关推荐
段一凡-华北理工大学7 小时前
高炉炉况智能诊断与预警实战~系列文章18:预警提前量问题:过程滞后与预测窗口的权衡
服务器·网络·人工智能·机器学习·高炉智能化·炉况预警·工业预警滞后
csdn_aspnet7 小时前
Modbus RTU 与 Modbus TCP:它们有什么区别?
网络·tcp/ip·tcp·modbus·rtu
零叁柒陆网络科技7 小时前
浉河网站制作从开始到上线一般需要多长时间?
网络
智购科技无人售货机工厂8 小时前
2026自动售货机防拆机物理安全设计:从安全螺丝到结构互锁的工程实践~YH
android·网络·驱动开发·python·单片机·安全·云原生
数据知道8 小时前
.NET 反序列化漏洞——ViewState 与 BinaryFormatter 实战深度剖析
网络·网络安全·.net
NJCloud9 小时前
OpenStack(四)——进阶篇之私有网络配置与块存储服务(Cinder)部署
linux·网络·云计算·openstack
zcmodeltech9 小时前
反应装置模型控制系统设计与实现:多设备协同联动方案
java·网络·数据库·stm32·嵌入式硬件·能源·制造
CDN3609 小时前
APP和小程序在地铁里总断连?360CDN上HTTP/3(QUIC),把弱网失败率死死压在0.7%
网络·网络协议·http
却道天凉_好个秋10 小时前
计算机网络:DNS总结
网络·计算机网络·dns
SDWAN_Cheap10 小时前
数据包在网络中是怎么一步步传输的?
网络·数据包