国产 无码 综合区,色欲AV无码国产永久播放,无码天堂亚洲国产AV,国产日韩欧美女同一区二区

【重復(fù)處理】CRUD接口冪等性處理

這篇具有很好參考價值的文章主要介紹了【重復(fù)處理】CRUD接口冪等性處理。希望對大家有所幫助。如果存在錯誤或未考慮完全的地方,請大家不吝賜教,您也可以點擊"舉報違法"按鈕提交疑問。

保證冪等性的核心思想:通過唯一的業(yè)務(wù)單號保證冪等

  1. 非并發(fā)情況下,查詢業(yè)務(wù)單號有沒有操作過,沒有則執(zhí)行操作
  2. 針對第一次執(zhí)行業(yè)務(wù)時間,有大量并發(fā)情況下,整個操作過程加鎖,通過分布式鎖來加鎖
  3. Select操作:不會對業(yè)務(wù)數(shù)據(jù)有影響,天然冪等
  4. Delete操作:第一次已經(jīng)刪除,第二次刪除也不會有影響
    • 根據(jù)唯一的業(yè)務(wù)號刪除,第一次刪除時間,已將數(shù)據(jù)刪除,第二次再次執(zhí)行時間,由于找不到相應(yīng)嘉璐,所以delete刪除的結(jié)果式0,對業(yè)務(wù)數(shù)據(jù)沒有影響,可在刪除前進行數(shù)據(jù)庫查詢
    • 刪除操作沒有唯一業(yè)務(wù)號,則要看具體的業(yè)務(wù)需求,如刪除未審核的數(shù)據(jù),此時多次刪除,可能會有新的未審核的數(shù)據(jù),此時如果依然需要保證冪等性,就需要使用token機制來實現(xiàn)
  5. Update操作:更新操作傳入數(shù)據(jù)版本號,通過樂觀鎖實現(xiàn)冪等性
    • 更新操作如果每次都是相同的值,那么不需要保證冪等性,因為值一樣
    • 更新的字段的值操作是變化的,那么就會有影響,此時就是通過傳入版本號來實現(xiàn)
    update set version=version+1, xxx=${xxx} where id = xxx and version = ${version}
    
    上述語句在mysql執(zhí)行時間,是有行鎖的,是串行的,及時有多次提交,那么版本號不一致的情況下,也是無法完成update,即實現(xiàn)了冪等
  6. Insert操作:此時沒有唯一業(yè)務(wù)號的,使用Token保證冪等
    • 有唯一業(yè)務(wù)號的操作,例如:秒殺場景下,商品ID+用戶ID必須是唯一的通過分布式鎖,保證并發(fā)情況下只有一個請求能夠生成記錄,然后通過數(shù)據(jù)庫的唯一索引控制數(shù)據(jù)商品ID+用戶ID只能有一條記錄,保證接口冪等,業(yè)務(wù)執(zhí)行完后,不進行分布式鎖釋放,讓其過期自動釋放,重拾請求在鎖失效前,獲得不到鎖,也就失敗了
    • 沒有業(yè)務(wù)號的操作,如注冊、點擊多次等,使用Token機制,保證冪等性,在進入到注冊頁時,后臺統(tǒng)一生成Token,返回前臺的隱藏域中。用戶提交時間,將Token一同傳入后臺使用Token作為分布式鎖的key來獲取分布式鎖,完成insert操作,執(zhí)行成功后,不釋放鎖,等待過期自動釋放,拿不到分布式鎖的則無法進行操作

文章來源地址http://www.zghlxwxcb.cn/news/detail-652472.html

到了這里,關(guān)于【重復(fù)處理】CRUD接口冪等性處理的文章就介紹完了。如果您還想了解更多內(nèi)容,請在右上角搜索TOY模板網(wǎng)以前的文章或繼續(xù)瀏覽下面的相關(guān)文章,希望大家以后多多支持TOY模板網(wǎng)!

本文來自互聯(lián)網(wǎng)用戶投稿,該文觀點僅代表作者本人,不代表本站立場。本站僅提供信息存儲空間服務(wù),不擁有所有權(quán),不承擔(dān)相關(guān)法律責(zé)任。如若轉(zhuǎn)載,請注明出處: 如若內(nèi)容造成侵權(quán)/違法違規(guī)/事實不符,請點擊違法舉報進行投訴反饋,一經(jīng)查實,立即刪除!

領(lǐng)支付寶紅包贊助服務(wù)器費用

相關(guān)文章

  • [AIGC] 用冪等性解決重復(fù)消息問題

    [AIGC] 用冪等性解決重復(fù)消息問題

    在構(gòu)建分布式系統(tǒng)時,開發(fā)人員經(jīng)常會遇到重復(fù)消息問題。這可能是由于網(wǎng)絡(luò)延遲、系統(tǒng)故障或其他原因?qū)е碌摹o論如何,重復(fù)消息會導(dǎo)致系統(tǒng)出現(xiàn)錯誤和不一致狀態(tài)。為了解決這個問題,我們可以使用冪等性來確保系統(tǒng)的可靠性和一致性。 在數(shù)學(xué)中,冪等性是指一個函數(shù)

    2024年02月19日
    瀏覽(18)
  • RabbitMQ防止消息重復(fù)消費、保證異步消息的冪等性

    一、rabbitmq出現(xiàn)消息重復(fù)的場景 1、消費成功,沒有進行ack,這時?Broker?會重新發(fā)送 2、不確認(unack)或 reject?之后,重新排隊,Broker?會重新發(fā)送 3、消費成功,ack時宕機,沒有ack成功,消息由unack變?yōu)閞eady,Broker又重新發(fā)送 4、總的來說就是 Broker?發(fā)送消息后,消費端收到消息

    2024年02月13日
    瀏覽(23)
  • RabbitMq(七) -- 常見問題:冪等性問題(消息重復(fù)消費)、消息丟失

    RabbitMq(七) -- 常見問題:冪等性問題(消息重復(fù)消費)、消息丟失

    用戶對于同一操作發(fā)起的一次請求或者多次請求的結(jié)果是一致的,不會因為多次點擊而產(chǎn)生了副作用。 舉個最簡單的例子,那就是支付,用戶購買商品后支付,支付扣款成功,但是返回結(jié)果的時候網(wǎng)絡(luò)異常, 此時錢已經(jīng)扣了,用戶再次點擊按鈕,此時會進行第二次扣款,返

    2024年02月05日
    瀏覽(21)
  • 騰訊二面:如何保證接口冪等性?高并發(fā)下的接口冪等性如何實現(xiàn)?

    什么是接口冪等性 接口冪等性這一概念源于數(shù)學(xué),原意是指一個操作如果連續(xù)執(zhí)行多次所產(chǎn)生的結(jié)果與僅執(zhí)行一次的效果相同,那么我們就稱這個操作是冪等的。在互聯(lián)網(wǎng)領(lǐng)域,特別是在Web服務(wù)、API設(shè)計和分布式系統(tǒng)中,接口冪等性具有非常重要的意義。 具體到HTTP接口或者

    2024年03月19日
    瀏覽(30)
  • kafka-保證數(shù)據(jù)不重復(fù)-生產(chǎn)者開啟冪等性和事務(wù)的作用?

    kafka-保證數(shù)據(jù)不重復(fù)-生產(chǎn)者開啟冪等性和事務(wù)的作用?

    適用于消息在寫入到服務(wù)器日志后,由于網(wǎng)絡(luò)故障,生產(chǎn)者沒有及時收到服務(wù)端的 ACK 消息,生產(chǎn)者誤以為消息沒有持久化到服務(wù)端,導(dǎo)致生產(chǎn)者重復(fù)發(fā)送該消息,造成了消息的重復(fù)現(xiàn)象,而冪等性就是為了解決該問題。 通過3個值的唯一性去重: PID:生產(chǎn)者ID 分區(qū)號 seq:單

    2024年02月14日
    瀏覽(17)
  • 接口冪等性詳解

    所謂接口冪等性就是:在特定場景下,同一條件的多次接口調(diào)用,保證操作只執(zhí)行一次,如果接口沒有保證冪等性,在以下場景就會產(chǎn)生問題 前端重復(fù)提交:用戶進行注冊、創(chuàng)建個人信息等操作,由于網(wǎng)絡(luò)抖動導(dǎo)致頁面沒有及時響應(yīng),用戶認為沒有成功而多次點擊提交按鈕,

    2024年02月19日
    瀏覽(18)
  • 如何保證接口的冪等性?

    如何保證接口的冪等性?

    作者:小牛呼嚕嚕 | https://xiaoniuhululu.com 計算機內(nèi)功、源碼解析、科技故事、項目實戰(zhàn)、面試八股等更多硬核文章,首發(fā)于公眾號「小牛呼嚕嚕」 目錄 什么是冪等性? 為什么需要保證冪等性? 接口冪等設(shè)計和防止重復(fù)提交可以等同嗎? 常用保證冪等性的措施 先select再inse

    2024年02月08日
    瀏覽(21)
  • 114 接口中冪等性的保證

    114 接口中冪等性的保證

    同樣是?面試問題? 如何確保接口的?冪等性? 冪等是一個?較為抽象的概念,?多次重復(fù)訪問,?不會導(dǎo)致業(yè)務(wù)邏輯的異常? 這里從增刪改查,?幾個方面列一下? 一般來說,?我們核心需要關(guān)注的就是?新增 和 更新 對于?增加元素,?首先針對唯一約束進行校驗, 然后再處理新增的相

    2024年04月23日
    瀏覽(25)
  • 一個注解實現(xiàn)接口冪等性,真心優(yōu)雅!

    一個注解實現(xiàn)接口冪等性,真心優(yōu)雅!

    簡單來說,就是對一個接口執(zhí)行重復(fù)的多次請求,與一次請求所產(chǎn)生的結(jié)果是相同的,聽起來非常容易理解,但要真正的在系統(tǒng)中要始終保持這個目標,是需要很嚴謹?shù)脑O(shè)計的,在實際的生產(chǎn)環(huán)境下,我們應(yīng)該保證任何接口都是冪等的,而如何正確的實現(xiàn)冪等,就是本文要討

    2024年02月03日
    瀏覽(27)
  • redis如何保證接口的冪等性

    redis如何保證接口的冪等性

    背景 如何防止接口中同樣的數(shù)據(jù)提交,以及如何保證消息不被重復(fù)消費,這些都是 shigen 在學(xué)習(xí)的過程中遇到的問題。今天,趁著在學(xué)習(xí) redis 的間隙,我寫了一篇文章進行簡單的實現(xiàn)。 注意:僅使用于單機的場景,對于分布式、高并發(fā)場景,還是建議使用分布式鎖。 首先我

    2024年02月09日
    瀏覽(28)

覺得文章有用就打賞一下文章作者

支付寶掃一掃打賞

博客贊助

微信掃一掃打賞

請作者喝杯咖啡吧~博客贊助

支付寶掃一掃領(lǐng)取紅包,優(yōu)惠每天領(lǐng)

二維碼1

領(lǐng)取紅包

二維碼2

領(lǐng)紅包