Netty是一个优秀的网络并发式处理软件框架。
主要概念:
- 消息循环:并发处理核心,响应请求的模式,可使用线程池,消息队列等方式;
- 通道(Channel):每一次请求将会创建一个通道;
- 句柄(Handler):数据处理的最小单位,分为请求句柄(Inbound)和响应句柄(Outbound),一个通道可以通过多个句柄,分步对数据进行处理,如:先解码,数据处理,加密等操作;
细节问题:
- SimpleChannelInboundHandler 在接收到数据后会自动release掉数据占用的Bytebuffer资源(自动调用Bytebuffer.release())。一般用于客户端
- ChannelInboundHandlerAdapter 不会。一般用于服务端。
- 修改请求Header将分导致请求重新处理,如增加HTTP头属性
Handler组织和数据传递源码:io.netty.channel.AbstractChannelHandlerContext
时间: 2024-10-13 03:14:42