RPC项目结构图
2021-09-03 11:05:40 1 举报
RPC结构图
作者其他创作
大纲/内容
TestServer中调用主方法,启动服务器,可以任意选择三种Server中的一种,并传入端口号开启服务器监听
channel0
TestClient
ZKServiceRegister
serviceProvider
register
通过newProxyInstance方法获得增强后的代理对象
SimpleServer
定义pipeline双向链表,用以存储Channelcontex。通过.addLast接口将handler加入pipeline中
两种序列化方式可供选择
Nettyhandler
sendRequest
通过服务名获得对应的地址,在sendRequest中调用,向服务器发起请求,并返回获得的Response
MyDecode
Serializer
invoke
RPCClientProxy
getService
通过服务名获得对应的服务对象,在getResponse中调用,用以接收request的参数并返回请求结果
ThreadServer
RPCClient
在线程中开启servetSocket接收request并处理成response返回给客户端
start
MyEncode
NettyServerInitializer
实际上是通过调用的服务名、输入的参数等数据封装request
discovery
Server接口,有Netty、线程、线程池三种实现方式
NettyClient
provideServiceInterface
ObjectSerializer
JsonSerializer
在init中加入自定义编码、解码规则
init
getProxy
TestServer
getResponse
workThread
SimpleClient
run
Netty中处理事务的位置
每一次代理对象调用方法都会在这里被增强
RPCServer
线程池服务器,成员变量包括一个线程池
NettyServer
作为成员变量实现对服务的增强
XXservice
作为成员变量实现序列化
这条路径是服务的流动路径,从TestServer中定义好,最终注册进ZK注册中心
0 条评论
下一页