1. 前言
本节我们主要从整体上了解 Netty 有哪些核心组件,很多同学学习完 Netty 虽然会使用,但是只知道如何自定义 Handler 而已,根本不清楚 Netty 有哪些核心的组件。
本节的主要目的是,从整体上概括 Netty 的核心组件,有助于深入了解 Netty 以及关于 Netty 的面试。
2. 核心组件
Netty 的核心模块组件主要分为以下:
组件模块 |
说明 |
Boostrap |
Bootstrap 其实就是启动的意思,主要用来配置 Netty 的相关配置,串联各个组件,针对客户端。 |
ServerBootstrap |
同上,只是它是针对服务端。 |
线程模型 |
了解 Reactor 线程模型。 |
EventLoopGroup |
是一组 EventLoop 的抽象,可以简单理解就是线程池,一般分为 BossEventLoopGroup 和 WorkerEventLoopGroup。 |
ChannelFuture |
Netty 的所有 IO 操作都是异步的,通过注册监听器来监听执行结果的返回。 |
Channel |
Netty 的网络通信组件,客户端和服务端建立连接之后会维持一个 Channel。 |
ChannelHandl |