rpc和http区别?
RPC Remote Producer Call 远程过程调用
HTTP 一种应用层协议
优缺点
-
RPC 客户端和服务端都需要采用同一种语言,HTTP客户端和服务端采用的语言没有限制,只需要遵循Rest风格
-
RPC相比HTTP速度快点,HTTP的协议头信息冗余
-
底层都是采用的Socket进行传输
-
RPC强调的是过程调用,实现的细节对用户来讲是透明的,但是HTTP需要用户自己关注请求和响应细节 (浏览器访问是帮我们实现了相关的细节)
-
RPC没有规定传输的数据格式
如何选择?
a. 速度来看,RPC比HTTP要快
b. 难度来看,RPC整体的实现复杂,HTTP相对简单
c. 灵活性来看, HTTP更加轻巧,不关心实现细节,跨平台,跨语言
d. 微服务开发强调独立,自治,灵活,所以选择HTTP,RPC限制比较多