前言:现在随着微服务、分布式的流行,基本大点的项目必用RPC框架,比如阿里的dubbo,Thrift等,现在我将一步步来手写rpc,我们来慢慢熟悉这个过程,也便于看dubbo的源码,不过在这之间肯定也会遇到很多问题,希望可以和大家一起共同解决。
一:rpc的基本组成
二:rpc的工作原理
2.1、注册客户端服务
2.2、开启rpc服务端
2.3、客户端以本地的方式来调用服务端
2.4、客户端代理找到服务端地址,连接服务端,然后将参数、方法等通过发送给服务端
2.5、服务端接收请求后将数据进行解码,然后根据解码的信息来执行本地程序,并将执行的结果返回给客户端
2.6、客户端进行解码获取返回的结果
三:编码
3.1、服务端
/** * 启动rpc服务 * @throws IOException */ void start() throws IOException; /** * 服务注册 * @param serviceInterface 服务接口 * @param impl 服务实现类 */ void register(Class serviceInterface, Class impl);