Reactor单线程模型

示意图

image.png

问题

  • 高并发场景下,一个线程处理所有的请求,那么性能是不可能的。从而有了,Reactor的线程池模型

Reactor线程池模型

示意图

image.png
image.png

改进之处

  • 相比于单线程模型而言,使用了多个线程,效率提高,同时,也为线程池中的每个线程都配备了各自的selector选择器,来进行选择需要处理的channel。

    问题

  • 如果并发更大,或者如果IO操作是一个很耗时的操作,那么服务端的处理性能就会急剧下降。

Reactor的多线程池模型

示意图

image.png

改进之处

  • 将连接请求和IO请求,分开来进行处理,不会因为IO操作很慢,而影响连接,这也正是线程池模型的缺点

Netty-Server的Reactor模型

示意图

image.png

Netty-Client的Reactor模型

示意图

image.png