NIO,AIO,BIO
BIO:同步阻塞模型,一个客户端连接 对应 一个处理线程, 会导致线程阻塞,浪费线程资源
NIO:同步非阻塞模型,服务器实现模式为一个处理线程对应多个客户端的连接,客户端发送的连接请求都会注册到多路复用器selector上,多路复用器轮询到连接,有IO请求就会进行处理。
AIO:异步IO模型
LInux采用epoll的方式,模仿AIO操作
Netty
netty是对nio的进一步封装,nio是一些底层的api,netty是基于这些api,对reactor模型的实现,是一个开箱即用的网络框架。
Reactor
对于 Reactor 通常称之为:响应式编程模型。那么其必然是 同步非阻塞的。这里单说 NIO 它并不是 Reactor 模式,但它为 实现 Reactor 模式打下了基础 那么 Netty 就是将 NIO 实现为 Reactor 模式的最佳实践。
SparkRPC
参考
Java NIO和epoll 的是什么关系,区别是什么?
BIO、NIO 入门(Netty 先导)
深度剖析:Kafka 请求是如何处理?看完这篇文章彻底懂了!