如题所述
第1个回答 2022-06-08
Dubbo是基于Netty搭建的RPC框架,为了更好地理解Netty在Dubbo中的应用,仿照Dubbo搭建了一个简易版的RPC框架。
整个调用逻辑如下:
1、生产者服务端启动Netty服务端。
2、消费者客户端通过JDK动态代理启动Netty客户端,通过注册中心地址连接生产者服务端,同时将接口调用信息(接口、方法、参数等)先序列化再发送给生产者服务端。
3、生产者服务端接收消息并通过反射调用相应方法,然后返回调用结果给消费者。
4、消费者接收生产者传来的调用结果。
新建DubboRequest类(相当于POJO),作为消息载体
新建Dubbo消费者调用接口IUserFacade
新建Dubbo消费者拦截器
新建Dubbo服务代理类
新建Dubbo消费者
新建 dubbo服务端实现类
dubbo生产者拦截器
Dubbo生产者服务端
1、启动生产者服务端DubboServer。
2、启动消费者调用端DubboClient。
消费者客户端控制台显示如下:
生产者服务端控制台显示如下:
源码地址: https://github.com/MAXAmbitious/netty-study/tree/master/netty-dubbo