rocketmq-remoting模块 (底层通信基于Netty)
NettyRemotingServer:继承NettyRemotingAbstract抽象类,实现了RemotingServer接口
start()[启动方法]
注册handler:
NettyServerHandler
|
NettyConnectManageHandler NettyConnectManageHandler
| |
IdleStateHandler IdleStateHandler
| |
NettyEncoder NettyDecoder
这里屏蔽了netty自身的头尾handler
NettyEncoder:序列化编码
NettyDecoder:序列化解码
IdleStateHandler: netty 本身handler 用心跳
NettyConnectManageHandler:连接状态的设置 触发对应的事件
NettyServerHandler:消息处理
NettyRemotingClient:继承NettyRemotingAbstract抽象类,实现了RemotingClient接口
start()[启动方法]
注册handler:
NettyClientHandler
|
NettyConnectManageHandler NettyConnectManageHandler
| |
IdleStateHandler IdleStateHandler
| |
NettyEncoder NettyDecoder
这里屏蔽了netty自身的头尾handler
NettyEncoder:序列化编码
NettyDecoder:序列化解码
IdleStateHandler: netty 本身handler 用心跳
NettyConnectManageHandler:连接状态的设置 触发对应的事件
NettyClientHandler:消息处理
调用方式:
invokeSync(同步) 通过CountDown实现
invokeAsync(异步)
invokeOneway(one way)