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

Kafka内部网络框架模型分析

 

Broker的内部处理流水线化,分为多个阶段来进行(SEDA),以提高吞吐量和性能,尽量避免Thead盲等待,以下为过程说明。

 

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

相关文章:

  • 2021-10-14
  • 2022-12-23
  • 2022-12-23
  • 2021-05-30
  • 2021-12-07
  • 2020-02-09
  • 2021-06-02
  • 2021-11-08
猜你喜欢
  • 2022-01-22
  • 2021-06-25
  • 2021-11-03
  • 2021-04-05
  • 2021-10-30
相关资源
相似解决方案