什么是RPC
RPC (Remote Procedure Call,远程过程调用),一般用来实现部署在不同机器上的系统之间的方法调用,使得程序能够像访问本地系统资源一样,通过网络传输去访问远端系统资源,对于客户端来说,传输层使用什么协议,系列化、反序列化都是透明的。
在架构演变过程中,随着网站系统用户量的增加、业务功能的扩展,由集中式走向分布式,应用被拆分,在解决个服务之间如何进行远程通信由此产生了RPC技术。
RPC框架:
RMI(JEMP)
SOAP(webservice/axis/cxf)
thrift
grpc
dubbo
Java RMI
RMI(remote method invocation,远程方法调用)是一种用于远程过程调用的应用程序编程接口,是纯Java的网络分布式应用系统的核心解决方案之一。使用Java远程消息交换协议JRMP (Java Remote Messageing Protocol)进行通信。
RMI采用代理来负责客户与远程对象之间通过Scoket进行通信的细节。RMI为远程对象分别生成客户端(存根、Stub)和服务器端代理(骨架,Skeleton)。