手写RPC框架-简易版
- 基本实现思路
- 代码实现
(1)服务提供方
① 定义服务接口
public interface HelloService{
String sayHello(String message);
}
② 定义接口实现类
public class HelloServiceImpl implments HelloService{
public String sayHello(String name){
return name+"调用了RPC服务";
}
}
③ 注册服务提供方
此处注册中心我们将服务注册在map集合中,结构是Map<String ,Map<URL,Class>>,key存储服务接口的全类名,URL封装了调用服务的端口和ip,里面的value指定具体实现类,注册中心提供注册服务并暴露服务和发现服务功能
第一步:编写URL类
第二步:编写注册中心
第三步:暴露服务
服务之间调用的通信协议采用http协议,所以需要在提供方启动Tomcat暴露服务
代码构造Tomcat的配置
编写dispatcherServlet
编写HttpServerHandler
注册服务以及启动Tomcat暴露服务
(2)服务消费端
① 封装HttpClient对象,发起远程调用
② 把提供方暴露的接口拷贝到消费方
③ 进行测试