外观
一句话答案
Reactor 用少量线程监听多连接 IO 事件再分发处理,Netty 用主从 Reactor:BossGroup 接连接 + WorkerGroup 处理 IO。
核心要点
三种模型:
| 模型 | 结构 | 适用 |
|---|---|---|
| 单 Reactor 单线程 | 1个线程处理一切 | 小规模 |
| 单 Reactor 多线程 | Reactor监听+线程池处理 | 中等规模 |
| 主从 Reactor | 主Reactor接连接+从Reactor处理IO | 高并发(Netty) |
Netty: BossGroup(accept) + WorkerGroup(IO) + Pipeline(Handler链)
追问与易错
追问方向:
- 单 Reactor 和主从 Reactor 区别?
- Netty 的线程模型?
- Reactor 和 Proactor 区别?
易错点:
- ❌ Reactor 是多线程模型——核心是事件驱动+IO 多路复用
- ❌ Netty 的 NioEventLoop 是一个线程——每个 EventLoop 一个线程
💡 记忆锚点
Reactor像酒店前台模式:前台(Reactor)不亲自服务客人,只负责听电话、分派任务给服务员(Handler)。单Reactor单线程=一个前台干所有事;主从Reactor=大堂经理(BossGroup)只管接待新客人,楼层服务员(WorkerGroup)专门处理房间里的事。Netty就是这个主从模型。