前言
也是从接触fastjson的时候才接触RMI这个东西。也经常与JNDi搞混。这篇文章先分析RMI的底层,等研究过了再加上。
什么是RMI
RMI即远程方法调用,通俗的来说就是客户端可以调用服务端的方法。和RPC差不多,RMI是java独立实现的一种机制。
RMI使用赖的通信协议为JRMP(Java Remote Message Protocol ,Java 远程消息交换协议),该协议为Java定制,要求服务端与客户端都为Java编写。
RMI分为三个主体部分:摘自https://xz.aliyun.com/t/6660#toc-5
- Client-客户端:客户端调用服务端的方法
- Server-服务端:远程调用方法对象的提供者,也是代码真正执行的地方,执行结束会返回给客户端一个方法执行的结果。
- Registry-注册中心:其实本质就是一个map,相当于是字典一样,用于客户端查询要调用的方法的引用。
使用RMI
服务端:
1.首先创建一个接口。