kafka吞吐量高的原因
kafa 吞吐量高的原因
1、順序讀寫
kafka的消息是不斷追加到文件中的,這個(gè)特性使kafka可以充分利用磁盤的順序讀寫性能
順序讀寫不需要硬盤磁頭的尋道時(shí)間,只需很少的扇區(qū)旋轉(zhuǎn)時(shí)間,所以速度遠(yuǎn)快于隨機(jī)讀寫
2、零拷貝
在Linux kernel2.2 之后出現(xiàn)了一種叫做"零拷貝(zero-copy)"系統(tǒng)調(diào)用機(jī)制,就是跳過“用戶緩沖區(qū)”的拷貝,建立一個(gè)磁盤空間和內(nèi)存的直接映射,數(shù)據(jù)不再復(fù)制到“用戶態(tài)緩沖區(qū)”
常用模式:
kafka使用如下模式:
3、分區(qū)
kafka中的topic中的內(nèi)容可以被分為多分partition存在,每個(gè)partition又分為多個(gè)段segment,所以每次操作都是針對(duì)一小部分做操作,很輕便,并且增加并行操作的能力
4、批量發(fā)送
kafka允許進(jìn)行批量發(fā)送消息,producter發(fā)送消息的時(shí)候,可以將消息緩存在本地,等到了固定條件發(fā)送到kafka
5、數(shù)據(jù)壓縮
Kafka還支持對(duì)消息集合進(jìn)行壓縮,Producer可以通過GZIP或Snappy格式對(duì)消息集合進(jìn)行壓縮
壓縮的好處就是減少傳輸?shù)臄?shù)據(jù)量,減輕對(duì)網(wǎng)絡(luò)傳輸?shù)膲毫?/p>
- 批量發(fā)送和數(shù)據(jù)壓縮一起使用效果最好,單條做數(shù)據(jù)壓縮的話,效果不明顯
總結(jié)
以上是生活随笔為你收集整理的kafka吞吐量高的原因的全部?jī)?nèi)容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: 虾青素好不好
- 下一篇: MQ问题集(kafka主从同步与高可用,