国产一区二区精品-国产一区二区精品久-国产一区二区精品久久-国产一区二区精品久久91-免费毛片播放-免费毛片基地

千鋒教育-做有情懷、有良心、有品質的職業教育機構

手機站
千鋒教育

千鋒學習站 | 隨時隨地免費學

千鋒教育

掃一掃進入千鋒手機站

領取全套視頻
千鋒教育

關注千鋒學習站小程序
隨時隨地免費學習課程

當前位置:首頁  >  技術干貨  > 你了解秒殺嗎?怎么設計?

你了解秒殺嗎?怎么設計?

來源:千鋒教育
發布人:qyf
時間: 2022-09-21 15:53:56 1663746836

你了解秒殺嗎?怎么設計?

 

  你認為項目中最重要的過程是那些?

 

  分析、設計階段 盡量找出進度的優先級。

  1.設計難點:

  并發量大,應用、數據庫都承受不了。另外難控制超賣。

  2.設計要點:

  將請求盡量攔截在系統上游,html盡量靜態化,部署到cdn上面。按鈕及時設置為不可用,禁止用戶重復提交請求。

  設置頁面緩存,針對同一個頁面和uid一段時間內返回緩存頁面。

  數據用緩存抗,不直接落到數據庫。

  讀數據的時候不做強一致性教研,寫數據的時候再做。

  在每臺物理機上也緩存商品信息等等變動不大的相關的數據

  像商品中的標題和描述這些本身不變的會在秒殺開始之前全量推送到秒殺機器上并一直緩存直到秒殺結束。

  像庫存這種動態數據會采用被動失效的方式緩存一定時間(一般是數秒),失效后再去Tair緩存拉取最新的數據。

  如果允許的話,用異步的模式,等緩存都落庫之后再返回結果。

  如果允許的話,增加答題教研等驗證措施。

  其他業務和技術保障措施:

  業務隔離。把秒殺做成一種營銷活動,賣家要參加秒殺這種營銷活動需要單獨報名,從技術上來說,賣家報名后對我們來說就是已知熱點,當真正開始時我們可以提前做好預熱。

  系統隔離。系統隔離更多是運行時的隔離,可以通過分組部署的方式和另外 99% 分開。秒殺還申請了單獨的域名,目的也是讓請求落到不同的集群中。

  數據隔離。秒殺所調用的數據大部分都是熱數據,比如會啟用單獨 cache 集群或 MySQL 數據庫來放熱點數據,目前也是不想0.01%的數據影響另外99.99%。

  另外需要復習緩存穿透、雪崩等等問題,主要的流量都落在了緩存數據庫上,需要針對緩存數據庫的高可用作保障。

  短鏈接生成

  這個應該是比較公認的方案了:

  分布式ID生成器產生ID

  ID轉62進制字符串

  記錄數據庫,根據業務要求確定過期時間,可以保留部分永久鏈接

  主要難點在于分布式ID生成。鑒于短鏈一般沒有嚴格遞增的需求,可以使用預先分發一個號段,然后生成的方式。

  看了下新浪微博的短鏈接,8位,理論上可以保存超過200萬億對關系,具體怎么存儲的還有待研究。

tags:
聲明:本站稿件版權均屬千鋒教育所有,未經許可不得擅自轉載。
10年以上業內強師集結,手把手帶你蛻變精英
請您保持通訊暢通,專屬學習老師24小時內將與您1V1溝通
免費領取
今日已有369人領取成功
劉同學 138****2860 剛剛成功領取
王同學 131****2015 剛剛成功領取
張同學 133****4652 剛剛成功領取
李同學 135****8607 剛剛成功領取
楊同學 132****5667 剛剛成功領取
岳同學 134****6652 剛剛成功領取
梁同學 157****2950 剛剛成功領取
劉同學 189****1015 剛剛成功領取
張同學 155****4678 剛剛成功領取
鄒同學 139****2907 剛剛成功領取
董同學 138****2867 剛剛成功領取
周同學 136****3602 剛剛成功領取
相關推薦HOT