1、组件分层
我把Netty的核心组件分为三层,分别是网络通信层、事件调度层和服务编排层。
2、网络通信层
在网络通信层有三个核心组件:Bootstrap、ServerBootStrap、Channel。
Bootstrap:负责客户端启动并用来链接远程Netty Server;
ServerBootStrap:负责服务端监听,用来监听指定端口;
Channel:相当于完成网络通信的载体。
3、事件调度层
事件调度器有两个核心组件:EventLoopGroup与EventLoop。
EventLoopGroup:本质上是一个线程池,主要负责接收I/O请求,并分配线程执行处理请求。
EventLoop:相当于线程池中的线程。
4、服务编排层
在服务编排层有三个核心组件ChannelPipeline、ChannelHandler、ChannelHandlerContext。
ChannelPipeline:负责将多个ChannelHandler链接在一起。
ChannelHandler:针对I/O的数据处理器,数据接收后,通过指定的Handler进行处理。
ChannelHandlerContext:用来保存ChannelHandler的上下文信息。