netty-模型

netty-模型

起男 75 2024-03-14

netty-模型

  • netty抽象出两组线程池:BossGroup专门负责接受客户端连接,WorkerGroup专门负责网络读写操作
  • NioEventLoop表示一个不断循环执行处理任务的线程,每个NioEventLoop都有一个selector,用于监听绑定在其上的socket网络通道
  • NioEventLoop内部采用串行化设计,从消息的读取->解码->处理->编码->发送,始终由io线程NioEventLoop负责

组成

  • NioEventLoopGroup下包含多个NioEventLoop
  • 每个NioEventLoop中包含有一个Selector,一个taskQueue
  • 每个NioEventLoop的Selector上可以注册监听多个NioChannel
  • 每个NioChannel只会绑定在唯一的NioEventLoop上
  • 每个NioChannel都绑定有一个自己的ChannelPipeline