java編程 JAVA面試如何保證消息不被重復消費?如何保證消息消費的冪等性?
JAVA面試如何保證消息不被重復消費?如何保證消息消費的冪等性?我沒事,來這里玩,開始在各種網(wǎng)絡上尋找技術信息,之后以“頭條”為主。從尋找信息到交朋友。因為我覺得事情落后于時代,有人認為,是因為自己水
JAVA面試如何保證消息不被重復消費?如何保證消息消費的冪等性?
我沒事,來這里玩,開始在各種網(wǎng)絡上尋找技術信息,之后以“頭條”為主。從尋找信息到交朋友。因為我覺得事情落后于時代,有人認為,是因為自己水平不高。只是在心里想,無法實現(xiàn)現(xiàn)實
如何才能成為java架構師?我為大家來分析一下?
首先,建筑師不是很好。他必須通過技術力量和建筑師的想法。其次,架構師是Dubbo框架,基本原理是zookeeper、redis分布式緩存、JVM性能優(yōu)化、nginx Apache企業(yè)開發(fā)Tomcat集群部署、大數(shù)據(jù)Hadoop、HBase實時計算spark、storm、數(shù)據(jù)分析、分詞和權重等核心技術。
如何成為一名優(yōu)秀的建筑師?我用七張照片告訴你。
您可以先學習分布式鎖的實現(xiàn)https://pan.baidu.com/s/1y8rkldBEpkHXHS3GvJXGTg密碼:umu3
我有10年的開發(fā)和培訓經(jīng)驗,在這期間我經(jīng)歷了javaweb、Android、H5、大數(shù)據(jù)、PHP等不同方向的開發(fā),也獲得了金牌軟件培訓公司講師。我對回答這個問題很感興趣。
您已經(jīng)清楚地解釋了這個問題中的要求,“一個查詢方法應該返回一條記錄,但是可以找到多條記錄”!也就是說,您的查詢應該只有一個結(jié)果,但此時或某個時候,會有多個結(jié)果,這意味著您的業(yè)務接口可能不滿足冪等性的要求。根據(jù)冪等設計原理,無論怎樣查找,只要參數(shù)相同,返回的結(jié)果應該是相同的。
那么如何解決這個問題并拋出異常呢?返回到幾個中的第一個?
我認為這不是一個完美的解決方案。
這對某些人來說是一個解決方案,但是問題解決了嗎?一點也不!問題仍然存在。下次觸發(fā)此條件時,仍將引發(fā)異常。就像說森林里有一只老虎。有一天,它吃人,然后你不解決老虎的問題。你只是在森林里掛了一塊牌子,上面寫著:小心,里面有老虎!這…
事實上,這不是一個好辦法。也許只有一件東西應該被退回。為什么要查詢多個項目?您是否檢查了數(shù)據(jù)庫中數(shù)據(jù)的唯一性?你不覺得每次查詢多個結(jié)果然后得到第一個數(shù)據(jù)效率很低嗎?
所以我們應該從根本上解決問題!為什么會產(chǎn)生多個數(shù)據(jù)?如果要手動檢查數(shù)據(jù),則需要手動檢查。如果要鎖定它,應該盡最大努力確保輸入?yún)?shù)相同,結(jié)果相同!