Acceptor
监听客户端的连接请求,并建立和客户端的数据传输通道,然后为这个客户端指定一个Processor,它的工作就到此结束,这样它就可以去响应下一个客户端的连接请求了。
Processor
主要职责是负责从客户端读取数据和将响应返回给客户端,它本身不处理具体的业务逻辑,每个Processor都有一个Selector,用来监听多个客户端,因此可以非阻塞地处理多个客户端的读写请求,Processor将数据放入RequestChannel的RequestQueue中和从ResponseQueue读取响应。
Handler(kafka.server.KafkaRequestHandler,kafka.server.KafkaApis)的职责是从RequestChannel中的RequestQueue取出Request,,处理以后再将Response添加到RequestChannel中的ResponseQueue中。