kafka為什么那么快 JAVA面試如何保證消息不被重復(fù)消費(fèi)?如何保證消息消費(fèi)的冪等性?
JAVA面試如何保證消息不被重復(fù)消費(fèi)?如何保證消息消費(fèi)的冪等性?我沒(méi)事,來(lái)這里玩,開始在各種網(wǎng)絡(luò)上尋找技術(shù)信息,之后以“頭條”為主。從尋找信息到交朋友。因?yàn)槲覜](méi)有想到時(shí)代的高度落后。只是在心里想,無(wú)法
JAVA面試如何保證消息不被重復(fù)消費(fèi)?如何保證消息消費(fèi)的冪等性?
我沒(méi)事,來(lái)這里玩,開始在各種網(wǎng)絡(luò)上尋找技術(shù)信息,之后以“頭條”為主。從尋找信息到交朋友。因?yàn)槲覜](méi)有想到時(shí)代的高度落后。只是在心里想,無(wú)法實(shí)現(xiàn)現(xiàn)實(shí)
如何搭建kafka?該如何學(xué)習(xí)kafka?
百度很多
卡夫卡刪除數(shù)據(jù)有兩種方式
根據(jù)時(shí)間,刪除過(guò)期消息一段時(shí)間后
根據(jù)消息大小,刪除超過(guò)一定大小的最舊數(shù)據(jù)
Kafka delete data的最小單位:segment
Kafka delete data主邏輯:Kafka源代碼
def cleanuplog(){debug(”beging log cleanup。。。)var總計(jì)=0 val開始時(shí)間=時(shí)間.毫秒For(log
Kafka在一段時(shí)間內(nèi)(配置文件設(shè)置)調(diào)用cleanuplogs一次,刪除所有需要?jiǎng)h除的日志數(shù)據(jù)。
Cleanupexpiredsegments負(fù)責(zé)清除超時(shí)數(shù)據(jù)
private def Cleanupexpiredsegments(log:log):int={val startms=時(shí)間.毫秒log.deleteOldSegments文件(開始時(shí)間->上次修改時(shí)間>log.config.retentions保留)}
cleanupsegmenttomaintainsize負(fù)責(zé)清理大于大小的數(shù)據(jù)私有def cleanupsegmentstomaintainsize(log:log):int={if(log.config.retentionSize文件=0){差異-=段.尺寸真}否則{假}log.deleteOldSegments文件(應(yīng)該刪除)}