认识Netty
Netty是什么?
- 异步事件驱动框架,用于快速开发高性能服务端和客户端。
- 封装了JDK底层BIO和NIO模型,提供高度可用的API。
- 自带编解码器解决拆包和粘包问题,用户只关心业务逻辑即可。
- 精心设计的reactor线程模型支持高并发海量连接。
- 自带各种协议栈,让你处理任何一种通用协议几乎都不用亲自动手。
Netty核心组件概述
工作流程图
NioEventLoop
字面意思为NIO事件循环,它主要用于新连接的接入,以及数据流的读与写,可以理解为是整个Netty组件的发动机。
Channel
可以理解为是对Socket的封装,一个Channel代表一条新连接,对于数据的读写都可以在这条连接上操作。
ByteBuf
数据流的载体,提供了一些列简单易用的API来操作底层数据流,如read、write、get、set等。
ChannelHandler
业务处理器,提供回调接口。
Pipeline
对业务处理的封装,底层其实就是一系列的ChannelHandler,形成业务处理链,方便用户对于业务处理逻辑的动态增加、修改或删除。
还没有评论,来说两句吧...