Netty之Reactor模型

Reactor单线程模型


所有的I/O操作都由同一个线程完成。接收对端的请求或向对端发送请求消息。

这种模式使用非阻塞I/O,在并发场景小的时候可以适用,但是对于高并发场景不合适。如果单线程出现死循环,那么整个通信将不可用。


Reactor多线程模型


有一个Acceptor线程专门用于接收客户端的连接,接收到请求后将请求分发到后端线程池,消息的读取,编解码和发送都由这个线程池完成。

这种模式可以满足大部分应用场景了。如果客户端连接上百万或者要对客户端做安全认证并且认证非常耗性能,这种场景就不太适用了。


主从Reactor多线程模型


    

Acceptor是一个独立的线程池,负责登陆或安全认证等,一旦链路建立成功,就将链路注册到后端线程池的线程上,由其处理后续的I/O操作。

猜你喜欢

转载自blog.csdn.net/ghaohao/article/details/80311357