netty rpc远程过程调用
1.需要一个机制,使发数据与接数据同步
注意 netty 发送数据 与 接收数据 两者并无关系 ,并不存在 发过去之后等待响应的概念;
但我们调用方法却是存在调用之后等待结果的过程;
故需有一定的方式使得netty的发送数据与接收数据之间形成同步关系;
最简单的, 可以 通过 在 write 后wait() ,在 read到数据后 notify() 来实现
2.需要一个机制,根据不同的接口返回实际的实现类
这个实现类需对用户隐藏,即不需要用户指定,用户只需注册接口,并从统一的入口获取相应的实现类对象;
一般的,可以用代理对象解决,即为接口生成proxy代理对象,作为实际的接口实现;
3.远程调用的这个过程需要由哪个线程完成
一般,可为rpc调用专门分配一个线程池来负责网络通信,把netty网络调用的过程封装到Callable里;
每次rpc调用时便将一个Callable任务交给线程池执行;

浙公网安备 33010602011771号