RPC(远程过程调用)和 HTTP(超文本传输协议)

RPC(远程过程调用)和 HTTP(超文本传输协议)是两种不同的通信方式,它们各自有不同的定位和使用场景。下面用简单明了的方式说清楚它们的区别👇:


🧠 1. 定义不同

项目RPC(Remote Procedure Call)HTTP(HyperText Transfer Protocol)
本质一种通信方式/调用协议一种应用层通信协议
作用调用远程服务就像本地方法一样浏览网页、传输数据等网络通信

🔍 2. 通信模型

  • RPC:调用远程函数 → 序列化参数 → 传给对方 → 执行函数 → 返回结果(像本地方法一样调用远程)

  • HTTP:基于客户端-服务器模型,请求/响应结构,主要传文本或 JSON 数据


🔧 3. 协议/底层传输

比较点RPCHTTP
协议可基于 HTTP、TCP、UDP、自定义协议固定使用 HTTP 协议
传输多数用 TCP,快,效率高用 TCP,重头部,传输效率略低
格式多用二进制(如 Protobuf)多用文本格式(JSON、XML)

🧱 4. 数据格式

  • RPC:多采用高效的二进制序列化格式,如 Protobuf、Thrift(更快更省)

  • HTTP:多用 JSON、XML,通用但体积大、解析慢


⚙️ 5. 调用方式

  • RPC:面向方法,调用就像写 Java 函数一样

    userService.getUserById(123); // 本质是远程调用
    
  • HTTP:面向资源,用 URL + 动词(GET/POST)访问

    GET /user/123
    

⚖️ 6. 典型框架

类型例子
RPCgRPC、Dubbo、Thrift、Motan
HTTPSpringMVC、Flask、Express

📝 7. 总结一句话

RPC 更像调用函数,效率高,适合服务内部通信;HTTP 更像访问资源,通用性强,适合对外接口。

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值