- 通信 TCP
- IO 目前使用Socket(BIO) -- NIO
- 序列化 反序列化
- 方法调用 反射
服务端: ServerSocket接受连接 -- 每个请求 交给一个RpcInvokeHandler -- 解析流得到RpcRequest -- 获取方法参数 -- 反射调用 客户端: newProxyInstance生成代理类 -- 方法调用执行RemoteInvocationHandler -- 封装数据发送
服务端: RpcService注解标注服务 --Spring配置Bean 扫描Bean -- RpcServerManage 实现ApplicationContextAware 获取handlerMap(类名和实例关系) -- RpcServerManage 实现InitializingBean 类加载后启动ServerSocket