rpc客户端服务端处理逻辑
2022-08-27 09:07:36 15 举报
看图吧
作者其他创作
大纲/内容
rpc请求处理器
writeAndFlush 发送消息给给client
编码解码处理器(必备)
客户端
服务端
4.顺利接收到结果 返回否则就是异常情况也返回
用户行为由于封装的很好 用户只需要传接口class即可获取代理对象 完成远程调用
只有任务结束才会往下走
使用入站处理器处理 但是从上往下处理
初始化并获取channel
粘包半包处理器(必备)
channel建立流水线
与服务端建立连接成功
2.通过channel写入刷出其实就是向server发送消息
从RES_MAP中通过传输的sequenceId的得到对应的promise对象一般不为空 早早的放入了 获取正常或异常结果
出站处理器处理 从下往上 先encode再做粘包半包处理
rpc响应处理器
3.构建空的promise来接收结果 没收到结果主线程会被阻塞住await
writeAndFlush
建立连接
传输到server
1.组装rpc请求对象必要信息都来自class
getProxyService(HelloService.class)
通过接口名 从配置中找到对应的实现类对象(一般都是单例) 然后做真实调用 返回结果
收藏
0 条评论
下一页