一、Netty核心定位与核心价值
1. 核心定位
Netty是基于Java NIO(非阻塞I/O)的异步事件驱动网络应用框架,专为高性能、高可靠性的分布式系统设计,是构建RPC框架、消息中间件、实时通信系统的底层基石。
2. 核心价值
- 高吞吐与低延迟:通过Reactor线程模型与零拷贝技术,支持单机百万级并发连接(如阿里云消息队列RocketMQ的底层网络层)。
- 协议扩展性强:内置HTTP/WebSocket/TCP/UDP等协议支持,可快速自定义私有协议(如Dubbo的Dubbo协议)。
- 资源消耗优化:通过内存池(ByteBuf)和对象池减少GC压力,内存利用率提升30%以上。
二、Netty核心架构与核心组件
1. Reactor线程模型
Netty采用主从多线程模型(Main/Sub Reactor):
- BossGroup:主线程池,负责接收连接请求。
- WorkerGroup:工作线程池,处理I/O读写与业务逻辑。
- EventLoop:事件循环单元,每个线程绑定一个Selector,实现非阻塞调度。
2. 核心组件