java分布式架構(gòu) JAVA面試如何保證消息不被重復(fù)消費(fèi)?如何保證消息消費(fèi)的冪等性?
JAVA面試如何保證消息不被重復(fù)消費(fèi)?如何保證消息消費(fèi)的冪等性?我沒(méi)事,來(lái)這里玩,開(kāi)始在各種網(wǎng)絡(luò)上尋找技術(shù)信息,之后以“頭條”為主。從尋找信息到交朋友。因?yàn)槲矣X(jué)得事情落后于時(shí)代,有人認(rèn)為,是因?yàn)樽约核?/p>
JAVA面試如何保證消息不被重復(fù)消費(fèi)?如何保證消息消費(fèi)的冪等性?
我沒(méi)事,來(lái)這里玩,開(kāi)始在各種網(wǎng)絡(luò)上尋找技術(shù)信息,之后以“頭條”為主。從尋找信息到交朋友。因?yàn)槲矣X(jué)得事情落后于時(shí)代,有人認(rèn)為,是因?yàn)樽约核讲桓?。只是在心里想,無(wú)法實(shí)現(xiàn)現(xiàn)實(shí)
如何保障消息中間件100%消息投遞成功?如何保證消息冪等性?
這是互聯(lián)網(wǎng)公司使用MQ的基本問(wèn)題。本質(zhì)上,它要求您在使用消息隊(duì)列時(shí)如何確保冪等性。以卡夫卡為例??ǚ蚩ㄓ械窒母拍?。寫(xiě)入的每條消息都有一個(gè)偏移量,它表示消息的序列號(hào)。消費(fèi)者消費(fèi)完消息后,如果提交了偏移量,它會(huì)定期發(fā)送消費(fèi)的消息,這意味著它已被消費(fèi)。下次重新啟動(dòng)或服務(wù)終止時(shí),我將繼續(xù)使用上次使用的偏移量。但仍需結(jié)合業(yè)務(wù)考慮。例如,如果要將數(shù)據(jù)寫(xiě)入數(shù)據(jù)庫(kù),首先應(yīng)根據(jù)主鍵進(jìn)行檢查。如果你有所有的數(shù)據(jù),你不應(yīng)該插入和更新它。好的,最后,您必須在數(shù)據(jù)方面執(zhí)行重復(fù)數(shù)據(jù)消除操作