精品欧美一区二区三区在线观看 _久久久久国色av免费观看性色_国产精品久久在线观看_亚洲第一综合网站_91精品又粗又猛又爽_小泽玛利亚一区二区免费_91亚洲精品国偷拍自产在线观看 _久久精品视频在线播放_美女精品久久久_欧美日韩国产成人在线

10萬QPS高并發請求,如何防止重復下單

數據庫 MySQL
當業務量暴增的話,MySQL單機磁盤容量會撐爆。并且,我們知道數據庫連接數是有限的。在高并發的場景下,大量請求訪問數據庫,MySQL單機是扛不住的!高并發場景下,會出現too many connections報錯。

前言 

大家好,我是田螺。

星球粉絲分享了一道面試題:10萬QPS高并發請求,如何防止重復下單。本文田螺哥從面試的角度,跟大家一起探討一下,從前端到后端,全鏈路,一層層遞進探討!

1. 前端攔截 

首先因為是10萬QPS的高并發請求,我們要保護好系統,那就是盡可能減少用戶無效請求。

1.1 按鈕置灰

很多用戶搶票、搶購、搶紅包等時候,為了提高搶中的概率,都是瘋狂點擊按鈕。會觸發多次請求,導致重復下單。

因此,在用戶點擊過搶購按鈕后,我們可以給按鈕置灰,不讓用戶重復點擊。

const submitButton = document.getElementById('submit-order');
submitButton.disabled = true;  // 禁用按鈕
// 提交訂單的異步操作
submitOrder().then(response => {
  submitButton.disabled = false;  // 請求完成后恢復按鈕
}).catch(error => {
  submitButton.disabled = false;  // 請求失敗也恢復按鈕
});

如果你的系統希望設計得友好一點,可以前端提示個文案,比如:已經收到你的請求,請耐心等待搶購結果。

1.2 Token機制

  • 前端加載頁面的時候,獲取一個全局唯一標記的token,如UUID。
  • 在表單提交時,用該Token來標識該請求。每次請求都附帶該Token,后端驗證Token是否唯一。如果已提交過該Token的請求,則直接返回錯誤或無效響應,防止重復提交。

2.后端設計 

2.1 NGINX 限流

請求從前端到后端,首先是先到nginx ,我們可以在nginx做一下限流。

因為有些用戶不懷好意,通過腳本繞過前端,瘋狂請求。這類用戶的IP和用戶ID,我們都可以做一下限流的限制的。

一個Nginx限流配置:

http {
    # 核心配置:IP+用戶ID雙因子限流 (按業務需求二選一)
    
    ## 選項1:基礎版(純IP限制)
    limit_req_zone $binary_remote_addr zone=order_base:10m rate=3r/m;  # 每IP每分鐘3次

    ## 選項2:增強版(IP+用戶ID,需前端傳遞UserID)
    limit_req_zone $binary_remote_addr$http_user_id zone=order_enhanced:20m rate=5r/m;

    server {
        listen 80;
        server_name tianluoboy.com;

        # 訂單提交接口
        location = /v1/order/create {
            # 啟用限流(示例用增強版)
            limit_req zone=order_enhanced burst=3 nodelay;  
            
            # 返回429時強制JSON響應
            error_page 429 @toofast;
            location @toofast {
                default_type application/json;
                return 200 '{"code":429,"msg":"操作過于頻繁,請稍后再試"}';
            }

            # 反向代理到業務服務器
            proxy_pass http://order_backend;
        }

        # 其他接口不限流
        location / {
            proxy_pass http://default_backend;
        }
    }
}

2.2 網關(Spring Cloud Gateway)

網關層可以做的事情很多,比如

Token 校驗:在網關層攔截請求,驗證 Token 是否在 Redis 中存在.

// 偽代碼示例:網關過濾器校驗 Token
if (redis.get(token) != null) {
    return error("重復請求");
} else {
    redis.setex(token, 60, "1"); // Token 有效期 60 秒
    //請求到后臺
    passToBackend();
}

當然,網關也可以做限流的:

  • 令牌桶算法:通過Redis + Lua 實現集群級限流(如 redis-cell 模塊)。
  • 用戶維度限流:基于用戶 ID或設備指紋限制并發請求數。

網關層可以做一下請求排隊:

  • 對高并發請求放到消息隊列,削峰填谷(如 Kafka/RabbitMQ)

圖片圖片

2.3 冪等設計

下單業務接口,我們一般要做冪等的。

一般用唯一索引做冪等設計。

唯一索引:比如使用用戶ID + 商品ID + 時間戳組合生成唯一訂單號。

一般的冪等處理就是這樣啦,如下:

圖片圖片

2.4 分庫分表

分庫分表:按用戶 ID 分片,分散寫壓力,避免單表成為瓶頸。

當業務量暴增的話,MySQL單機磁盤容量會撐爆。并且,我們知道數據庫連接數是有限的。在高并發的場景下,大量請求訪問數據庫,MySQL單機是扛不住的!高并發場景下,會出現too many connections報錯。

所以高并發的系統,需要考慮拆分為多個數據庫,來抗住高并發的毒打。而假如你的單表數據量非常大,存儲和查詢的性能就會遇到瓶頸了,如果你做了很多優化之后還是無法提升效率的時候,就需要考慮做分表了。一般千萬級別數據量,就需要分表,每個表的數據量少一點,提升SQL查詢性能。

2.5 分布式鎖

既然是防止重復下單,一般都需要加Redis分布式鎖的。

// 偽代碼:Redisson 分布式鎖
RLock lock = redisson.getLock("order:lock:" + userId);
if (lock.tryLock(0, 30, TimeUnit.SECONDS)) {
    try {
        createOrder();
    } finally {
        lock.unlock();
    }
}

2.6 樂觀鎖兜底

如果分布式鎖失效了呢?怎么辦呢?

我們可以加數據庫樂觀鎖兜底。比如

  • 在數據訂單表中添加 version 字段,每次更新都version+1,更新時校驗版本號
  • 通過原子操作 UPDATE ... SET versinotallow=version+1 WHERE order_id=xx AND versinotallow=old_version實現

2.7 日志與監控

要打印好日志,和做好監控指標,如果發現日志或者監控異常,可以快速介入排查~

打印日志也有坑:

圖片圖片

有需要的伙伴可以購買我的踩坑專欄哈:血與淚的教訓,盤點我工作七年所踩的坑(更新到90篇啦~)

2.8 核對數據

我們要做好核對數據,比如做個定時任務,核對訂單數據和交易金額是否對得上,如果發現數據異常,就人工快速介入排查和修復。

責任編輯:武曉燕 來源: 撿田螺的小男孩
相關推薦

2024-08-06 08:13:26

2022-09-03 23:18:46

Order服務負載均衡

2022-04-18 10:54:49

券系統緩存 RedisMySQL

2021-06-17 09:32:39

重復請求并發請求Java

2024-06-06 08:46:37

2012-04-24 09:30:57

淘寶開發

2025-02-28 00:03:22

高并發TPS系統

2018-09-20 09:33:38

單機QPSRedis

2024-10-31 09:04:20

Spring高并發

2025-07-14 01:00:00

Json排序MD5

2022-11-11 07:34:43

2021-10-28 09:36:12

高并發數據實踐

2025-06-23 08:23:04

2024-08-05 09:29:00

前端接口請求

2020-12-21 09:57:33

無鎖緩存并發緩存

2022-11-17 07:43:13

2022-11-15 07:39:48

2024-10-08 11:21:11

2025-02-14 03:00:00

點贊
收藏

51CTO技術棧公眾號

日韩精品1区| 在线看av的网址| 亚洲精品系列| 日韩精品极品在线观看| 337p粉嫩大胆噜噜噜鲁| 国产午夜在线视频| 久久久久久自在自线| 在线电影中文日韩| 国产精品探花在线播放| 国产精品偷拍| 国产日韩精品一区| 91精品国产高清久久久久久91裸体 | 视频国产一区| 欧美剧情片在线观看| 免费在线黄网站| 男人天堂网在线| 久久狠狠亚洲综合| 97精品一区二区三区| 欧美巨胸大乳hitomi| 777久久精品| 日本丰满少妇一区二区三区| 一区二区三区在线观看www| 高潮一区二区三区乱码| 日韩高清一区二区| 久久久久久成人| 天天摸日日摸狠狠添| 日韩av综合| 色国产精品一区在线观看| 亚洲小说欧美另类激情| 国产99对白在线播放| 精品动漫av| 萌白酱国产一区二区| 亚洲精品国产91| 成人免费91| 欧美亚洲精品一区| 免费一级特黄毛片| 免费在线看a| 久久久99久久| 国产一级精品aaaaa看| a片在线免费观看| 99riav国产精品| 最近中文字幕2019免费| 岛国毛片在线播放| 日韩欧美精品一区二区综合视频| 亚洲成人tv网| 国产精品久久久影院| jyzzz在线观看视频| 久久嫩草精品久久久精品| 亚洲精品免费av| 在线视频欧美亚洲| 日日夜夜精品视频免费| 欧美大片在线免费观看| 亚洲区一区二区三| 青青草成人影院| 亚洲日本欧美日韩高观看| 欧美一级片黄色| 久久免费福利| 欧美日韩在线电影| 一区二区三区国产免费| 性欧美18一19sex性欧美| 欧美日韩国产一区二区三区| 欧美这里只有精品| 影音先锋男人在线资源| 综合色天天鬼久久鬼色| 亚洲砖区区免费| 1pondo在线播放免费| 久久久五月婷婷| 欧美二区三区| 男女网站在线观看| 国产亚洲综合av| 日韩免费三级| yiren22亚洲综合伊人22| 91麻豆swag| 精品人伦一区二区三区| 色偷偷在线观看| av影院午夜一区| 黑人中文字幕一区二区三区| 免费看黄色一级视频| 国产91精品露脸国语对白| av成人午夜| 亚洲精品一区二区三区四区| 丁香亚洲综合激情啪啪综合| 国产高清精品一区| 日韩一级片免费看| 99久久99久久精品免费看蜜桃| 精品国产aⅴ麻豆| 色久视频在线播放| 国产拍揄自揄精品视频麻豆| 亚洲日本精品| 亚洲综合影视| 精品久久中文字幕久久av| 欧美一区二区三区爽大粗免费| 亚洲黄色免费看| 欧美三级电影在线观看| 国产又黄又猛又粗又爽的视频| 国产精品久久亚洲不卡| 欧美日本韩国一区二区三区视频| 182午夜视频| 日韩一区二区三区高清在线观看| 精品久久久久久久久久久久包黑料| 久久久久亚洲av无码网站| 天堂av一区| 亚洲国产高清高潮精品美女| 国产伦理片在线观看| 国产一区日韩| 亚洲无限av看| 久久久久久久久久网站| 99在线观看免费视频精品观看| 国产成人精品综合| 精品国产999久久久免费| 91免费观看视频在线| 伊人久久大香线蕉午夜av| 日本aa在线| 91久久国产最好的精华液| 五月六月丁香婷婷| 亚洲福利网站| 久久影视免费观看| 天天干在线播放| 国产在线精品免费av| 国产麻豆乱码精品一区二区三区| 风间由美一区| 亚洲一区二区三区四区不卡| 黄色高清无遮挡| 成人av激情人伦小说| 国产一区二区黄| 欧美一级高潮片| 麻豆精品国产91久久久久久 | 免费精品一区二区三区在线观看| 亚洲裸体xxxx| 国产一级免费观看| 久久国产免费看| 6080yy精品一区二区三区| 亚洲在线视频播放| 中文字幕欧美激情一区| 成人三级视频在线播放| 理论片一区二区在线| 欧美高清在线视频观看不卡| 国产99对白在线播放| 国产精品久久久久久一区二区三区 | 亚洲成人日韩在线| 日韩午夜av| 精品国产一区二区三区麻豆小说 | bestiality新另类大全| 欧美日韩视频在线观看一区二区三区 | 国产成人ay| 国产福利视频一区二区| 欧美日本网站| 在线欧美日韩精品| 人与嘼交av免费| 蜜臀av一区二区| 亚洲精品9999| 99国内精品久久久久| www.美女亚洲精品| 国产高清视频免费| 一区二区三区自拍| 制服丝袜在线第一页| 亚洲黄页一区| 欧美三级电影在线播放| 在线国产成人影院| 日韩最新在线视频| 国产人妖在线播放| 亚洲成人高清在线| 波多野结衣一本| 麻豆视频一区二区| 波多野结衣激情| 国产成人高清精品免费5388| 欧美激情精品久久久久| 天天射,天天干| 色婷婷综合激情| 亚洲一二三四五六区| 国产精品伊人色| 久激情内射婷内射蜜桃| 国产伦精品一区二区三区视频| 国产精品久久久久久久久久久久久久| 日本中文字幕在线播放| 欧美精品在线视频| 精品无码人妻一区二区三区 | 永久免费毛片在线观看| 精品在线观看免费| 国产无限制自拍| 精品欧美久久| 国产精品v欧美精品v日韩| 久久uomeier| 久久精品精品电影网| 日本黄色不卡视频| 欧美在线观看一区| 久久久久久久久久久久国产| 久久色.com| 99999精品| 久色成人在线| 免费观看中文字幕| 一区二区美女| 亚洲一区二区三| 欧美一区 二区 三区| 久久成人18免费网站| 日本韩国精品一区二区| 91麻豆精品国产91久久久久久久久 | 男人的天堂免费| 天堂久久久久va久久久久| 99久久久无码国产精品性色戒| 色88888久久久久久影院| 成人久久一区二区三区| 亚洲妇女成熟| 欧美黄色片在线观看| 国产福利小视频在线观看| 精品裸体舞一区二区三区| www.久久网| 欧美日韩在线视频一区| 日韩黄色免费观看| 国产精品久久久久天堂| a毛片毛片av永久免费| 国产高清久久久久| 日本中文字幕二区| 久久精品道一区二区三区| 青青青在线观看视频| 国产精品99在线观看| 欧洲高清一区二区| 婷婷成人在线| 国产视频在线观看一区| 久久69av| 91精品久久久久久久久不口人| 韩日成人影院| 97人人模人人爽人人喊中文字| 伦xxxx在线| 丝袜情趣国产精品| 高清毛片在线看| 亚洲视频视频在线| 欧美zzoo| 亚洲欧美激情精品一区二区| 日韩一级片免费观看| 精品美女在线观看| 国产aⅴ爽av久久久久成人| 欧美日韩不卡一区| 中文字幕乱伦视频| 欧美性猛片xxxx免费看久爱| 亚洲第一网站在线观看| 欧美午夜片在线免费观看| 日韩av电影网址| 亚洲444eee在线观看| 国产第一页第二页| 香蕉成人啪国产精品视频综合网 | 韩国福利在线| 亚洲欧美日韩中文在线制服| 深夜福利视频在线免费观看| 亚洲第一免费播放区| 蜜桃在线一区二区| 亚洲国产精品中文| 青青草视频在线观看| 亚洲女同精品视频| 高清性色生活片在线观看| 永久免费看mv网站入口亚洲| 懂色av中文在线| 日韩综合视频在线观看| a级影片在线| 久久久久久久国产精品| www.九色在线| 日本国产高清不卡| 成人免费黄色| 国产日韩在线免费| 亚洲综合影院| 国产在线一区二区三区四区| 人人精品视频| 午夜精品一区二区在线观看 | 成年女人18级毛片毛片免费| 亚洲黄色视屏| 美女黄色片视频| 黄色精品一二区| 欧美激情 亚洲| 久久精品欧美一区二区三区麻豆 | 天堂在线视频免费观看| 亚洲精品在线看| 中文字幕在线免费| 精品自拍视频在线观看| 欧美aaaaa性bbbbb小妇| 国产精品旅馆在线| 91精品国产自产精品男人的天堂 | 国产黄色片在线播放| 久久精品在线播放| caoporn视频在线| 国产精品美女久久久久av超清| 国产精品一区二区三区av| 国产区二精品视| 成久久久网站| 国产激情片在线观看| 亚洲综合不卡| 中文字幕 欧美日韩| 99精品视频在线免费观看| 综合 欧美 亚洲日本| 亚洲高清久久久| 亚洲视频在线观看一区二区| 精品国产伦一区二区三区观看方式| 日本免费不卡| 久热精品视频在线观看| 成人教育av| αv一区二区三区| 色狮一区二区三区四区视频| 国产一线二线三线女| 毛片一区二区三区| 欧美熟妇精品黑人巨大一二三区| 最近日韩中文字幕| 午夜精品一区二| 精品久久久久久久久久久久久久久久久 | 性生活视频软件| 一本色道久久88亚洲综合88| 福利成人导航| 91精品啪aⅴ在线观看国产| 日韩mv欧美mv国产网站| 国产日韩欧美大片| 日本成人超碰在线观看| 特级西西人体wwwww| 一区二区三区在线播放| 亚洲无码久久久久久久| 日韩精品免费在线视频观看| 在线三级电影| 成人久久久久爱| 成人在线免费观看91| 97在线播放视频| 成人永久aaa| 91视频综合网| 欧美三级电影一区| 国产九九在线| 日韩av免费一区| 欧美激情15p| 欧日韩免费视频| 国产精品一品二品| 欧美手机在线观看| 欧美在线观看一二区| 国产美女视频一区二区三区 | 你懂的国产在线| 亚洲精品一区二区三区蜜桃下载| 99热国产在线中文| 91人人爽人人爽人人精88v| 日韩激情在线| www午夜视频| 国产精品久久午夜夜伦鲁鲁| 中文字幕精品一区二| 在线午夜精品自拍| 日本综合久久| 无遮挡亚洲一区| 日韩avvvv在线播放| 久久久久无码精品国产sm果冻| 一本大道av一区二区在线播放| 亚洲av成人精品毛片| 国产69精品久久久久久| 欧美激情极品| 日本免费一级视频| 久久久久成人黄色影片| 欧美日韩 一区二区三区| 一区二区三区美女xx视频| 91精品影视| 午夜精品电影在线观看| 久久成人麻豆午夜电影| 女性裸体视频网站| 777午夜精品视频在线播放| 黄色av免费在线| 97超碰资源| 日韩视频三区| b站大片免费直播| 精品视频一区二区不卡| 日本暖暖在线视频| a级国产乱理论片在线观看99| 欧美视频二区| 亚洲中文字幕无码av| 狠狠躁夜夜躁人人爽超碰91| 九色在线观看| 国产在线久久久| 欧美私人啪啪vps| 最新在线黄色网址| 欧美在线播放高清精品| 哥也色在线视频| 国内不卡一区二区三区| 久久亚洲国产精品一区二区| 天堂av网手机版| 日韩免费成人网| 波多野结衣亚洲| 精品一区二区成人免费视频| 国产99一区视频免费| 三级黄色在线视频| 中文字幕欧美日韩在线| 欧美三级一区| 亚洲色成人一区二区三区小说| 欧美激情一区在线| 亚洲精品久久久久久久久久久久久久| 91sa在线看| 五月婷婷亚洲| 久久丫精品国产亚洲av不卡| 欧美色综合网站| 91丝袜在线| 在线观看亚洲视频啊啊啊啊| 成人国产精品视频| 伊人精品在线视频| 午夜精品一区二区三区在线| 日韩电影在线视频| 国产大尺度视频| 欧美在线短视频| 色在线中文字幕| 国产精品8888| 中文一区二区在线观看| 日韩一级片免费看| 97久久人人超碰caoprom欧美|