云计算——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/移动端应用后端。
相关推荐
隐擎fox4 小时前
高性能网络爬虫架构设计:基于 Python 的长连接复用与分布式会话池调度实践
分布式·python·网络协议·tcp/ip·高并发·网络爬虫、
聚搜云——JuSouClouD4 小时前
搭建外贸网站想选用阿里云,找代理商采购划算吗?
阿里云·云计算
Dawn-bit5 小时前
Linux 运维基础扩展:跳板机、堡垒机与物理服务器全流程
linux·运维·服务器·云计算·运维开发
IT摆渡者5 小时前
1panel 配置申请手动解析网站SSL证书
服务器·网络协议·ssl
易岳群5 小时前
物联网 MQTT 方案:服务端如何通过 MQTT 生命周期维护客户端设备状态
物联网·网络协议
六面体混凝土移动师8 小时前
我把 Cloudflare 开源了
架构·云计算·agent
yunlaodacom9 小时前
AWS亚马逊云服务代理商:EC2和S3为什么建议放在同一Region?跨Region流量费和网络成本怎么规划
网络·云计算·aws
2501_9378609410 小时前
网络核心|OSI七层、TCP/IP五层模型,封装和分用详解
网络·网络协议·tcp/ip
宵时待雨11 小时前
linux笔记归纳18:传输层协议TCP
linux·网络·笔记·网络协议·tcp/ip
云老大-阿里云国际站代理商12 小时前
腾讯云国际站渠道代理商:新加坡CVM怎么搭配TencentDB?企业部署、内网连接和高可用怎么规划
云计算·腾讯云