从 RocketMQ 学 Netty 网络编程技巧

从整个类体系看网络设计

RocketMQ 关于网络方面核心类图如下所示:

1

接下来先一一介绍各个类的主要职责。

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/prestigeding/article/details/109335913