1. 程式人生 > >Kafka網絡模型分析

Kafka網絡模型分析

idt width 接收 class roc thread sel 響應 tor

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

Kafka網絡模型分析