kafka架构:分区机制详解
生活随笔
收集整理的這篇文章主要介紹了
kafka架构:分区机制详解
小編覺得挺不錯(cuò)的,現(xiàn)在分享給大家,幫大家做個(gè)參考.
- 消息是通過topic為單位進(jìn)行管理;
- 分區(qū)機(jī)制可以打破單機(jī)存儲(chǔ)容量的限制,理論上可以存儲(chǔ)海量的數(shù)據(jù);
- 分區(qū)數(shù)越大,并發(fā)寫入的性能就越高。這也是kafka適合用于高并發(fā)和大數(shù)據(jù)領(lǐng)域的關(guān)鍵;
- 每個(gè)topic對應(yīng)一組日志分區(qū)數(shù)據(jù);
- 每一組日志分區(qū)是一個(gè)有序的不可變的日志序列,分區(qū)中的每一個(gè)record都被分配了唯一的序列編號(hào)稱為是offset;
- kafka會(huì)持久化所有發(fā)布到topic中的record信息,record的默認(rèn)有效期是7天;
- kafka會(huì)定期檢查日志文件,將過期的數(shù)據(jù)從log中移除;
- kafka采用磁盤存儲(chǔ)日志文件。
PS:kafka只能保證同一個(gè)分區(qū)內(nèi)部的數(shù)據(jù)是FIFO先進(jìn)先出的,而不能保證所有的數(shù)據(jù)都是FIFO的。因?yàn)橐粋€(gè)topic有多個(gè)分區(qū),默認(rèn)會(huì)使用輪詢的方式對消息進(jìn)行負(fù)載均衡。
- offset的值越小,表示進(jìn)入到分區(qū)時(shí)間越早;反之?dāng)?shù)據(jù)越新。
- kafka只能保證分區(qū)內(nèi)部有序,不能保證多個(gè)分區(qū)的先進(jìn)先出。
- 如果要嚴(yán)格保證數(shù)據(jù)是FIFO先進(jìn)先出的,可以將topic的分區(qū)數(shù)設(shè)置為0,也就是不分區(qū)來保證先進(jìn)先出。
總結(jié)
以上是生活随笔為你收集整理的kafka架构:分区机制详解的全部內(nèi)容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: kafka高性能揭秘:顺序写和零拷贝
- 下一篇: kafka单机安装(版本kafka_2.