RPC服务性能为什么比Http服务性能好

本文深入对比了RPC服务和HTTP服务的特性,从序列化方式、报文长度、连接复用等方面详细解析两者差异,指出RPC服务在追求高性能场景下优势明显,而REST服务则在兼容多语言环境下更具优势。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

假设

  1. 这里的RPC服务一般是指基于TCP/IP协议上开发的二进制协议服务
  2. Http服务一般是指基于Http1.0 / Http1.1协议上开发的REST服务

分析

  1. 序列化方式:
    RPC服务序列化是针对二进制协议(0/1)来做序列化和反序列化,所以性能高。
    而Http服务是基于文本的序列化和反序列化,需要读一行一行的文本(比如json格式的),进行序列化和反序列化,所以性能低。
  2. 报文长度:
    RPC服务是自定义的传输协议,传输的报文都是干货。
    而Http服务里面包括很多没用的报文内容,比如Http Header里面的accept,referer等等
  3. 连接的复用:
    RPC服务是基于TCP/IP协议的,是长连接。
    而Http服务大都是短连接,虽然Http1.1支持长连接,但是这个也是要取决于服务端是否支持长连接,不太可控。

结论

  1. 在追求性能的场合,用RPC服务(基于TCP/IP传输协议)
  2. 在追求兼容性多语言的场合,用REST服务

参考

  1. https://www.linkedin.com/pulse/rest-vs-rpc-soa-showdown-joshua-hartman
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值