700字范文,内容丰富有趣,生活中的好帮手!
700字范文 > RPC简介(远程过程调用协议)

RPC简介(远程过程调用协议)

时间:2018-11-12 20:00:21

相关推荐

RPC简介(远程过程调用协议)

RPC

RPC在rfc 1831中收录 ,RPC(Remote Procedure Call) 远程过程调用协议

RPC协议规定允许互联网中一台主机程序调用另一台主机程序,而程序员无需对这个交互过程进行编程。在RPC协议中强调当A程序调用B程序中功能或方法时,A是不知道B中方法具体实现的。

RPC是上层协议,底层可以基于TCP协议,也可以基于HTTP协议。一般我们说RPC都是基于RPC的具体实现,如:Dubbo框架。从广义上讲只要是满足网络中进行通讯调用都统称为RPC,甚至HTTP协议都可以说是RPC的具体实现,但是具体分析看来RPC协议要比HTTP协议更加高效,基于RPC的框架功能更多。

RPC协议是基于分布式架构而出现的,所以RPC在分布式项目中有着得天独厚的优势。

RPC和HTTP对比

1 具体实现

RPC:可以基于TCP协议,也可以基于HTTP协议。

HTTP:基于HTTP协议

2 效率

RPC:自定义具体实现可以减少很多无用的报文内容,使得报文体积更小。

HTTP:如果是HTTP 1.1 报文中很多内容都是无用的。如果是HTTP2.0以后和RPC相差不大,比RPC少的可能就是一些服务治理等功能。

3 连接方式

RPC:长连接支持。

HTTP:每次连接都是3次握手。

4 性能

RPC可以基于很多序列化方式。如:thrift

HTTP 主要是通过JSON,序列化和反序列效率更低。

5 注册中心(例如zookeeper)

RPC :一般RPC框架都带有注册中心。

HTTP:都是直连。

6 负载均衡

RPC:绝大多数RPC框架都带有负载均衡测量。

HTTP:一般都需要借助第三方工具。如:nginx

7 综合结论

RPC框架一般都带有丰富的服务治理等功能,更适合企业内部接口调用。而HTTP更适合多平台之间相互调用。

本内容不代表本网观点和政治立场,如有侵犯你的权益请联系我们处理。
网友评论
网友评论仅供其表达个人看法,并不表明网站立场。