Kafka网络模型分析

  Kafka基于高吞吐率和效率考虑,并没有使用第三方网络框架,而且自己基于java nio封装的,总体网络模型如下:

  

  Broker的内部按照SEDA模型处理网络请求,处理过程如下:

  •   Accept Thread负责与客户端建立连接链路,然后把Socket轮转交给Process Thread
  •   Process Thread负责接收请求和响应数据,Process Thread每次基于Selector事件循环,首先从Response Queue读取响应数据,向客户端回复响应,然后接收到客户端请求后,读取数据放入Request Queue
  •   Work Thread负责业务逻辑、IO磁盘处理等,负责从Request Queue读取请求,并把处理结果放入Response Queue中,待Process Thread发送出去。

 

posted @ 2018-02-01 19:38  木易森林  阅读(260)  评论(0编辑  收藏  举报