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