摘录自淘宝Java中间件团队的博客
Java NIO trick and trap
NIO神话
- 使用NIO = 高性能
NIO不一定更快的场景
客户端应用
连接数<1000
并发程度不高
局域网环境下
- NIO完全屏蔽了平台差异
NIO仍然是基于各个OS平台的IO系统实现的,差异仍然存在
- 使用NIO做网络编程很容易
离散的事件驱动模型,编程困难
陷阱重重
Reactor模式
- NIO网络框架的典型模式
- 核心组件
Synchronous Event Demultiplexer : Event loop + 事件分离
Dispatcher : 事件派发,可以多线程
Request Handler : 事件处理,业务代码
- Mina Netty Cindy都是此模式的实现