云计算——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/移动端应用后端。
相关推荐
袁小皮皮不皮41 分钟前
6.HCIP OSPF域间防环机制与虚链路
服务器·网络·笔记·网络协议·学习·智能路由器
宸津-代码粉碎机1 小时前
Spring AI 企业级实战|智能记忆摘要+自动遗忘机制落地,彻底解决上下文爆炸与Token冗余
java·大数据·人工智能·后端·python·spring·云计算
青瓦梦滋1 小时前
Linux:TCP协议的socket套接字
网络·网络协议·tcp/ip
Zhan8611241 小时前
WebSocket心跳与断线重连实战:芬兰赫尔辛基指数行情数据接口接入记录
网络·websocket·网络协议
衣乌安、1 小时前
JSON-RPC协议
网络协议·rpc·json
IP老炮不瞎唠2 小时前
采集运行不稳定?分清住宅IP与数据中心代理的差异
网络·网络协议·tcp/ip
森G2 小时前
65、UDP协议(拓展选学)---------网络编程
网络·c++·qt·网络协议·tcp/ip·udp
tiancaijiben2 小时前
阿里云Elasticsearch搭建网站站内搜索功能:从零到生产级实战指南
云计算
tiancaijiben2 小时前
阿里云Linux云服务器搭建Joomla基础管理平台:从零到企业级部署
云计算
翼龙云_cloud2 小时前
阿里云代理商:如何管理CPFS的POSIX客户端挂载点?
运维·阿里云·云计算·阿里云 cpfs