效率对比
HTTP是应用层协议,RPC基于传输层协议TCP。
故:RPC效率高于HTTP。
适用场景
- http相对更规范,更标准,更通用,无论哪种语言都支持http协议。
- RPC协议性能要高的多,例如Protobuf、Thrift、Kyro等,(如果算上序列化)吞吐量大概能达到http的二倍。响应时间也更为出色。千万不要小看这点性能损耗,公认微服务做的比较好的,例如,netflix、阿里,曾经都传出过为了提升性能而合并服务。
why要合包?服务内调用,可以减少很多链路损耗。
所以建议在多系统之间采用RPC,对外提供服务,Rest是很适合的。