rpc和restful
restful接口
- 简单、直接、开发方便。利用现成的http协议
- 接口更加通用
- 会携带http的请求响应头,消息臃肿,会有无用的网络开销。
rpc
- 远程过程调用,更准确的说应该是一种协议应用,http是一种协议
- 速度快,效率高(针对http1.1)
- 更精简、更加保密、更加可定制
- 可以像调用本地接口一样使用
但rpc限制了开发的语言环境
RPC框架一般都有注册中心,有丰富的监控管理
一般会提供服务发现、负载均衡、水平扩展一整套分布式发现的机制
RPC的核心并不在于使用什么协议。rpc可以使用http来实现。
如何选择
- 如果需要更高的传输效率,需要服务发现、水平扩展等相关技术,可以选用rpc
- 如果想要调用简单,接口更加通用,与编程语言无关,可以选用基于http的restful