文章作者郵箱:yugongshiye@sina.cn? ? ? ? ? ? ? 地址:廣東惠州
?▲ 本章節目的
??掌握Kafka的零拷貝技術;
? 了解常規的文件傳輸過程;
一、常規的網絡傳輸原理
?表面上一個很簡單的網絡文件輸出的過程,在OS底層,會發現數據會被拷貝4次。
內核態可以理解為特權態,可以訪問計算機的所有資源。
而用戶態的訪問資源是受限的。
上圖中,如果要對文件數據修改,則只能在用戶態的緩沖區修改,所以需要拷貝4次。
但如果僅僅是發送文件數據,則 copy 4 次是沒有意義的,并且還是產生 4 次內核態和用戶態的切換,這些都需要小號CPU性能的。
二、Kafka的零拷貝技術
?總結:
1. Kafka的寫入性能高:因為底層是磁盤順序寫。
2. Kafka的讀取性能高,因為底層是由索引機制。
3. Kafka的傳輸性能高,因為底層使用Zero Copy技術。