HTTP和RPC

rpc和http区别?

RPC Remote Producer Call 远程过程调用

HTTP 一种应用层协议

优缺点

  1. RPC 客户端和服务端都需要采用同一种语言,HTTP客户端和服务端采用的语言没有限制,只需要遵循Rest风格

  2. RPC相比HTTP速度快点,HTTP的协议头信息冗余

  3. 底层都是采用的Socket进行传输

  4. RPC强调的是过程调用,实现的细节对用户来讲是透明的,但是HTTP需要用户自己关注请求和响应细节 (浏览器访问是帮我们实现了相关的细节)

  5. RPC没有规定传输的数据格式

如何选择?

a. 速度来看,RPC比HTTP要快

b. 难度来看,RPC整体的实现复杂,HTTP相对简单

c. 灵活性来看, HTTP更加轻巧,不关心实现细节,跨平台,跨语言

d. 微服务开发强调独立,自治,灵活,所以选择HTTP,RPC限制比较多

HTTP和RPC_第1张图片

你可能感兴趣的:(Java基础系列,rpc,http,网络)