雄安網(wǎng)站建設公司百度純凈版首頁入口
1)Kafka 本身是分布式集群,可以采用分區(qū)技術,并行度高(生產(chǎn)消費方并行度高);
2)讀數(shù)據(jù)采用稀疏索引,可以快速定位要消費的數(shù)據(jù);
3)順序寫磁盤;
????????Kafka 的 producer 生產(chǎn)數(shù)據(jù),要寫入到 log 文件中,寫的過程是一直追加到文件末端, 為順序寫。官網(wǎng)有數(shù)據(jù)表明,同樣的磁盤,順序寫能到 600M/s,而隨機寫只有 100K/s。這與磁盤的機械機構有關,順序寫之所以快,是因為其省去了大量磁頭尋址的時間。
? ? ? ?又有如下兩個優(yōu)勢:?
????????零拷貝:Kafka的數(shù)據(jù)加工處理操作交由Kafka生產(chǎn)者和Kafka消費者處理。Kafka Broker應用層不關心存儲的數(shù)據(jù),所以就不用 走應用層,傳輸效率高。
????????PageCache頁緩存:Kafka重度依賴底層操作系統(tǒng)提供的PageCache功 能。當上層有寫操作時,操作系統(tǒng)只是將數(shù)據(jù)寫入 PageCache。當讀操作發(fā)生時,先從PageCache中查找,如果找不到,再去磁盤中讀取。實際上PageCache是把盡可能多的空閑內存 都當做了磁盤緩存來使用。