RPC
(Remote Procedure Call)远程过程调用远程过程调用是相对于本地过程调用来说的
RPC要解决的问题:
- 解决分布式系统中,服务之间的调用问题。
- 远程调用时,要能够像本地调用一样方便,让调用者感知不到远程调用的逻辑。
Java常用框架
- OpenFeign
- Dubbo
- Hession(推荐Alibaba Hession)
- avro
对比
- RPC是面向过程,Restful是面向资源,并且使用了Http动词。从这个维度上看,Restful风格的url在表述的精简性、可读性上都要更好。
RMI
(Remote Method Invocation)远程方法调用
RMI是Java提供的一种访问远程对象的协议,是已经实现好了的,可以直接用了。能够让在客户端Java虚拟机上的对象像调用本地对象一样调用服务端java 虚拟机中的对象上的方法