关于RPC

1.什么是RPC

RPC(Remote Procedure Call),即远程过程调用(协议)。它允许像调用本地服务一样调用远程服务,用于实现分布式系统中跨网络进行通信 的技术,是一种计算机通信协议。

RPC是一种服务器-客户端(Client/Server)模式,经典实现是一个通过发送请求-接受回应进行信息交互的系统。

与RPC(远程过程调用)相对应的是本地调用。

2.什么是RPC框架,有什么优点

RPC 框架基于 RPC 协议 实现,允许一个程序(称为服务消费者)像调用自己程序的方法一样,调用另一个程序(称为服务提供者)的接口,而不需要了解数据的传输处理过程、底层网络通信的细节 等。这些都会由 RPC 框架帮你完成,使得开发者可以轻松调用远程服务,快速开发分布式系统

优点:

  1. 高性能:RPC 框架通常采用高效的网络通信协议和序列化/反序列化机制。
  2. 有额外功能:如负载均衡、服务发现、容错机制等,能提高系统的可靠性、可用性和稳定性。
  3. 支持动态扩展:开发者可以动态扩展 RPC 的功能,比如自定义负载均衡器、自定义序列化协议等。

常见的RPC框架有:阿里的Dubbo ,Google的gRPC ,Facebook的Thrift

3. HTTP 与 RPC 之间的区别

严格来讲,HTTP 和 RPC 不是一个层面的东西:

  • HTTP 是一种应用层的协议,主要强调的是网络通信;
  • RPC,其是一种分布式系统之间通信的方式,强调的是服务之间的远程调用。
  • HTTP 主要用于 B/S 架构,而 RPC 更多用于 C/S 架构。但现在其实已经没分那么清了,B/S 和 C/S 在慢慢融合。
相关推荐
DLYSB_3 小时前
旧上位机不肯改怎么办:原生 TCP 字节帧接入声光语音终端的改造实录
网络·网络协议·tcp/ip·报警灯
程序员夏洛3 小时前
HTTP 2.0 和 3.0 有什么区别?
网络·网络协议·http
Sylvia33.7 小时前
LOL实时数据接入深度解析:从WebSocket到完整数据模型
java·网络·python·websocket·网络协议
鼹鼠SDN10 小时前
没有公网 IP,如何在外面访问家里的打印机、摄像头和整个局域网?
网络·网络协议·tcp/ip
幼儿园蛋小黑15 小时前
TCP 并发:从原理到高并发实践
网络·网络协议·tcp/ip
驭渊的小故事18 小时前
网络原理04(http协议详细解析3)(2000详细解析HTTPS的工作原理)
网络·网络协议·http
额额额对了19 小时前
Linux 进程间通信(IPC)核心机制:消息队列、共享内存与信号量详解
linux·网络·网络协议
IPdodo_19 小时前
2026年爬虫代理 IP 选择指南:从可用率、延迟到成本验收
网络协议·tcp/ip·scrapy·http·https·beautifulsoup·httpx
程序员夏洛20 小时前
HTTP 请求包含哪些内容,请求头和请求体有哪些类型?
网络·网络协议·http
瓦格哈儿1 天前
删掉旧 SSL 证书会影响线上业务吗?风险点梳理
网络协议·https·ssl