文章目录
1.视界
1.概述
SocketServer是通讯模块,底层基于NIO的Reactor多线程模型来实现的。接近于Netty.
Kafka基于高吞吐率和效率考虑,并没有使用第三方网络框架,而且自己基于java nio封装的
1.1 架构
总体网络模型如下:
Kafka的网络通信层模型,主要采用了1(1个Acceptor线程)+N(N个Processor线程)+M(M个业务处理线程
)。
Kafka网络通信层的完整框架图如下图所示:
刚开始看到上面的这个框架图可能会有一些不太理解,并不要紧,这里可以先对Kafka的网络通信层框架结构有一个大致了解。本文后面会结合Kafka的部分重要源码来详细阐述上面的过程。这里可以简单总结一下其网络通信模型中的几个重要概念:
- Acceptor:1个接收线程,负责监听新的连接请求