RPC全称是远程过程调用(Remote Procedure Call),在分布式系统中,可以在客户机上调用服务器上的服务。
RPC给我们解决了这些问题:
通讯问题 寻址问题 数据序列化与反序列化虽然HTTP接口也可以进行远程服务调用,但由于RPC是由TCP协议支持的(也有基于HTTP协议的RPC框架),效率更高,并且RPC一般有注册中心,可以有丰富的监控管理,还可以支持长连接,所以大型企业一般用RPC来进行远程服务调用。
RPC框架结构如下:
客户端进程调用Client Stub对象,Client Stub将调用信息发送到Server Stub对象,由服务器进程调用服务器上的本地方法,将结果传给Server Stub对象,Server Stub对象将结果返回给Client Stub对象,再返回给客户端进程。至此,客户端进程就像调用本地方法一样调用了服务器上的方法。
常用RPC框架有:
Dubbo