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

  Kafka网络模型分析

  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发送出去。

 

相关文章:

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