日韩成人免费在线_国产成人一二_精品国产免费人成电影在线观..._日本一区二区三区久久久久久久久不

當前位置:首頁 > 科技  > 軟件

高并發秒殺方案:熱點散列,庫存分桶,你需要了解一下

來源: 責編: 時間:2024-02-01 12:48:19 201觀看
導讀在大規模秒殺活動中,針對單一商品的庫存扣減請求峰值可以輕松達到幾萬、甚至幾十萬QPS,如常見的搶茅臺活動。在這種場景下再基于數據庫進行庫存扣減就顯得無能為力了,記住一個關鍵指標:在MySQL中,目前單行更新操作的的性能

在大規模秒殺活動中,針對單一商品的庫存扣減請求峰值可以輕松達到幾萬、甚至幾十萬QPS,如常見的搶茅臺活動。在這種場景下再基于數據庫進行庫存扣減就顯得無能為力了,記住一個關鍵指標:在MySQL中,目前單行更新操作的的性能約為500QPS。對于動輒幾萬QPS的庫存扣減來說,這個量級肯定是偏低了。q5J28資訊網——每日最新資訊28at.com

所以為了應對這種高并發場景,業界提出了一種方案叫 熱點散列,即今天群里討論的庫存分桶。q5J28資訊網——每日最新資訊28at.com

其方案如下圖所示:將同一商品的庫存提前分配至多個“桶”中,根據路由規則(隨機、UID取模)將庫存請求路由至不同的桶,從而將集中于單實例的請求分散,此方案類似于水平擴展。q5J28資訊網——每日最新資訊28at.com

圖片圖片q5J28資訊網——每日最新資訊28at.com

至于“分桶”的技術實現,很多技術文章或解決方案都建議采用Redis來實現。具體而言,對任一秒殺活動的商品,可將其分成N份,每份對一個緩存Key,緩存Key的構成必須遵循一定的規律,便于路由,示例如下:q5J28資訊網——每日最新資訊28at.com

key: inventoryId_1,value: 庫存數量 q5J28資訊網——每日最新資訊28at.com

key: inventoryId_2,  value: 庫存數量 q5J28資訊網——每日最新資訊28at.com

... q5J28資訊網——每日最新資訊28at.com

key: inventoryId_N,  value: 庫存數量q5J28資訊網——每日最新資訊28at.com

在扣減庫存時,可以根據Key的編號區間,采用隨機算法,UID取模等方式確定一個編號,然后組裝Key訪問緩存。 q5J28資訊網——每日最新資訊28at.com

舉個例子,假如inventoryId為20221821,將庫存分配至100個桶,則根據相應Key的區間為[1,100]。q5J28資訊網——每日最新資訊28at.com

服務端收到商品庫存扣減請求后,將請求中的參數UID取模,假設UID % 100 = 67,則組裝Key為 20221821_67,基于20221821_67扣減對應緩存桶中的庫存。q5J28資訊網——每日最新資訊28at.com

熱點散列的核心思想為:在緩存中扣減庫存,以提升系統的吞吐量;緩存扣減成功后,異步向數據庫寫入庫存扣減流水并更新庫存;此外,還需要通過定時任務等機制實現緩存與數據庫的庫存總量同步。q5J28資訊網——每日最新資訊28at.com

這個方案看上去很不錯,但也會存在如下三個問題:q5J28資訊網——每日最新資訊28at.com

一、在緩存中扣減庫存如何保證冪等性呢?若冪等性防控不足,則可能出現重復扣減,進而導致少賣。q5J28資訊網——每日最新資訊28at.com

二、緩存寫操作和數據庫寫操作無法通過事務機制來保證強一致性,那么該如何有效的保證庫存數據的一致性呢?q5J28資訊網——每日最新資訊28at.com

三、用戶所見的庫存應為總庫存,即便總庫存充足,一旦分桶,如何保證用戶請求被路由到的分桶油足夠的庫存呢?q5J28資訊網——每日最新資訊28at.com

所以個人覺得,熱點散列在理論上是解決庫存熱點問題最有效的方案,但在實際應用中,需要考慮的細節非常多?;诰彺娴膸齑婵蹨p的方案是比較粗糙的,它只滿足一些特定場景的需要。對于淘寶、京東這類在想商品規模達數十億的大型電商平臺而言,所面臨的問題要復雜得多,除了穩定性、可靠性、一致性,還包括庫存分配,庫存碎片,庫存擴縮容、流量傾斜、商品少賣、商品超賣等。q5J28資訊網——每日最新資訊28at.com

上次去阿里交流的時候,阿里專家唐三說:在阿里,庫存架構采用的方案是做庫存單元化架構,這種方案應該是大型電商平臺庫存系統的終極解決方案。q5J28資訊網——每日最新資訊28at.com

本文鏈接:http://www.www897cc.com/showinfo-26-70416-0.html高并發秒殺方案:熱點散列,庫存分桶,你需要了解一下

聲明:本網頁內容旨在傳播知識,若有侵權等問題請及時與本網聯系,我們將在第一時間刪除處理。郵件:2376512515@qq.com

上一篇: 大規模敏捷測試怎么做(集成篇)

下一篇: 司空見慣的錯誤檢測,原來還有這么多干貨!

標簽:
  • 熱門焦點
  • Mate60手機殼曝光 致敬自己的經典設計

    8月3日消息,今天下午博主數碼閑聊站帶來了華為Mate60的第三方手機殼圖,可以讓我們在真機發布之前看看這款華為全新旗艦的大致輪廓。從曝光的圖片看,Mate 60背后攝像頭面積依然
  • 6月iOS設備性能榜:M2穩居榜首 A系列只能等一手3nm來救

    沒有新品發布,自然iOS設備性能榜的上榜設備就沒有什么更替,僅僅只有跑分變化而產生的排名變動,畢竟蘋果新品的發布節奏就是這樣的,一年下來也就幾個移動端新品,不會像安卓廠商,一
  • 6月安卓手機好評榜:魅族20 Pro蟬聯冠軍

    性能榜和性價比榜之后,我們來看最后的安卓手機好評榜,數據來源安兔兔評測,收集時間2023年6月1日至6月30日,僅限國內市場。第一名:魅族20 Pro好評率:95%5月份的時候魅族20 Pro就是
  • 帥氣純真少年!日本最帥初中生選美冠軍出爐

    日本第一帥哥初一生選美大賽冠軍現已正式出爐,冠軍是來自千葉縣的宗田悠良。日本一直熱衷于各種選美大賽,從“最美JK”起到“最美女星&r
  • 印度登月最關鍵一步!月船三號今晚進入環月軌道

    8月5日消息,據印度官方消息,月船三號將于北京時間今晚21時30分左右開始近月制動進入環月軌道。這是該探測器能夠成功的最關鍵步驟之一,如果成功將開始圍
  • ESG的面子與里子

    來源 | 光子星球撰文 | 吳坤諺編輯 | 吳先之三伏大幕拉起,各地高溫預警不絕,但處于厄爾尼諾大“烤”之下的除了眾生,還有各大企業發布的ESG報告。ESG是“環境保
  • 微博大門常打開,迎接海外畫師漂洋東渡

    作者:互聯網那些事“起猛了,我能看得懂日語了”。“為什么日本人說話我能聽懂?”“中文不像中文,日語不像日語,但是我竟然看懂了”…&hell
  • 華為Mate60系列模具曝光:采用碩大圓形后置相機模組+拼接配色方案

    據此前多方爆料,今年華為將開始恢復一年雙旗艦戰略,除上半年推出的P60系列外,往年下半年的Mate系列也將迎來更新,有望在9-10月份帶來全新的華為Mate60
  • 朋友圈可以修改可見范圍了 蘋果用戶可率先體驗

    近日,iOS用戶迎來微信8.0.27正式版更新,除了可更換二維碼背景外,還新增了多項實用功能。在新版微信中,朋友圈終于可以修改可見范圍,簡單來說就是已發布的朋友圈
Top 主站蜘蛛池模板: 文安县| 临沭县| 蚌埠市| 英吉沙县| 凤冈县| 巍山| 辽阳市| 彩票| 赣榆县| 大理市| 隆林| 聂拉木县| 沧源| 邵东县| 延庆县| 裕民县| 津南区| 台南市| 平和县| 黄大仙区| 仪征市| 自贡市| 永定县| 日喀则市| 夏河县| 股票| 全椒县| 宁陵县| 隆林| 阳新县| 慈溪市| 白朗县| 阳曲县| 买车| 四平市| 永善县| 海原县| 馆陶县| 高清| 新巴尔虎左旗| 潢川县|