云计算——RPC中间件

RPC(Remote Procedure Call),是一种中间件框架,主要用于云计算。

作用是使计算机可以像调用本地函数一样,远程调用部署在另一个服务器上的服务,RPC框架会自动处理所有相关的网络通信和数据转换。

RPC工作过程

1.客户端调用:计算机调用一个本地代理对象(Client Stub)用来完成任务

2.序列化:Stub将所需要传输的数据指令进行打包序列化

3.数据传输:将序列化后的数据发送给服务器

4.服务端处理:服务器代理对象(Server Stub 或 Skeleton),接收数据,进行反序列化,调用本地业务逻辑函数

5.结果返回:服务器代理对象完成处理,将数据重新序列化,发送回客户端

常见RPC

Apache Dubbo:一个高性能的 Java RPC 框架,提供了完整的服务治理能力。

gRPC:由 Google 开源的高性能、通用的 RPC 框架,广泛应用于微服务通信。

Hadoop:其分布式文件系统(HDFS)的节点间通信也依赖于自定义的 RPC 协议。

这些中间件在基础 RPC 之上,增加了服务发现、负载均衡、容错、监控等高级功能,使得开发者能更专注于业务逻辑。

RPC 与 REST 的主要区别

特性 RPC (如 gRPC) REST (如 HTTP API)
设计核心 面向函数/动作,直接调用远程方法。 面向资源,通过标准方法(GET/POST)操作资源
性能 更高。通常使用二进制协议(如 Protobuf),序列化效率高。 中等。通常使用文本协议(如 JSON),可读性好但体积较大。
耦合性 紧耦合。客户端和服务端需遵循预定义的接口契约。 松耦合。通过统一的接口与资源交互,更灵活。
适用场景 内部微服务通信、高性能要求、实时流式处理 对外公开的 API、Web/移动端应用后端。
相关推荐
2501_915106329 小时前
抓包抓到乱码或压缩字节怎么解析,TraceEagle五种查看模式和一键解码
网络协议·计算机网络·网络安全·ios·adb·https·udp
情 九10 小时前
MCP 实战 06:把 HTTP 接口接成工具,让 AI 帮你查数据
人工智能·网络协议·http·mcp
Da Da 泓11 小时前
五子棋 Web 端测试用例报告
前端·网络·websocket·网络协议·测试用例·项目
静以修身zzz18 小时前
计算云服务
运维·网络·云计算
Henry-SAP18 小时前
阿里云大模型份额居首
阿里云·云计算
万联WANFLOW18 小时前
异地组网速度忽快忽慢到底怎么回事?直连与中继的判断方法和处理步骤
运维·网络·网络协议·p2p
步行cgn21 小时前
HTTP 请求报文结构详解:请求行、请求头、请求体各自的作用
网络·网络协议·http
长不大的杨瑞杰1 天前
OpenCode v2 运行时预热实战:Warming、Prompt Cache、后台服务与成本治理
人工智能·安全·云计算·软件工程·devops
OpenLoong 开源社区1 天前
打破 NAT 限制,零侵入跨网络通信:基于 WebRTC 的透明 TCP 隧道跨网络通信方案
网络协议·tcp/ip·开源·webrtc·openloong开源社区
从琳开始9891 天前
从Socket到UDP回显服务器:Java网络编程完整指南
java·网络·网络协议·udp·java-ee