Reactor是基于NIO中实现多路复用的一种模式.

什么是Reactor模式




Reactor模式总结_java经验集锦


  1. 同步的等待多个事件源到达(采用select()实现)
  2. 将事件多路分解以及分配相应的事件服务进行处理,这个分派采用server集中处理(dispatch)
  3. 分解的事件以及对应的事件服务应用从分派服务中分离出去(handler)
为什么使用Reactor模式

常见的网络服务中,如果每一个客户端都维持一个与登陆服务器的连接。那么服务器将维护多个和客户端的连接以出来和客户端的contnect 、read、write ,特别是对于长链接的服务,有多少个c端,就需要在s端维护同等的IO连接。这对服务器来说是一个很大的开销。

三种Reactor模型
  1. 单Reactor单线程模型



    Reactor模式总结_高并发_02
  2. 单Reactor多线程模型



    Reactor模式总结_性能优化_03
  3. 多Reactor多线程模型



    Reactor模式总结_java经验集锦_04
      </div>