从整个类体系看网络设计
RocketMQ 关于网络方面核心类图如下所示:
接下来先一一介绍各个类的主要职责。
RemotingService
RPC 远程服务基础类。主要定义所有的远程服务类的基础方法:
void start()
:启动远程服务。void shutdown()
:关闭。void registerRPCHook(RPCHook rpcHook)
:注册 RPC 钩子函数,有利于在执行网络操作的前后执行定制化逻辑。
RemotingServer/RemotingClient
远程服务器/客户端基础接口,两者中的方法基本类似,故这里重点介绍一下 RemotingServer,定位 RPC 远程操作的相关“业务方法”。
-
void registerProcessor(int requestCode, NettyRequestProcessor processor,ExecutorService executor)
-
注册命令处理器,这里是 RocketMQ Netty 网络设计的核心亮点,RocketMQ 会按照业务逻辑进行拆分ÿ
文章来源: blog.csdn.net,作者:中间件兴趣圈,版权归原作者所有,如需转载,请联系作者。
原文链接:blog.csdn.net/prestigeding/article/details/109335913