reactor中包含5个核心结构,那么从操作系统低层次的调度来看5部分是这样的。
(1)Handle(句柄资源描述符)本质是对客户端连接上来以后发生事件的处理机制,比如连接成功,读取数据,发送数据等状态。
(2)同步事件分离器,相对于nio来说可以理解为selector,对于客户端过来的事件需要一个一个的处理,根据事件的不同分发给具体不同的处理器。
(3)initialize dispatch(初始事件分发器),分发器规定了一系列的规则,也是操作系统低级别的处理装置,配合同步事件分离器工作,遇到何种情况定义为“连接成功事件”,在哪种情况下定义为“读取事件等”。
(4)Event Handle 统一事件处理器,在处理器中可以获取多种事件的状态。
(5)concrete Event Handle 具体的事件处理器,每一种事件去回调其处理逻辑。
而netty的封装恰好仅仅让程序员关心了具体数据发过来以后的读取和响应处理即可。
netty本身就是基于reactor模式的请求处理响应的网络框架。