淘東電商項目(77) -秒殺系統(小結)

引言

本文代碼已提交至Github,有興趣的同學可以下載來看看:https://github.com/ylw-github/taodong-shop

秒殺系統的代碼在前面博客已經實現了,有興趣的同學可以參閱下:

本文目錄結構:
l____引言
l____ 1.小結

1.小結

下面貼上我自己整理的原理圖,如下:

在這裏插入圖片描述

前端:

  1. 使用動靜分離、將靜態資源存放到第三方文件服務器中實現cdn加速,目的減輕秒殺搶購帶寬。
  2. 當用戶點擊秒殺按鈕的時候,應該將按鈕disabled(禁止),防止重複提交。
  3. 使用複雜的圖形驗證碼防止機器模擬。
  4. 秒殺詳情頁面,使用定時器根據用戶信息查詢秒殺結果。
  5. 商品的詳情頁面使用nginx+lua+openresty 實現靜態化頁面。

網關:

  1. Ratelimter、Nginx、Hystrix、Redis實現限流( 令牌桶+漏桶算法) , 對用戶秒殺請求實現限流和服務保護。
  2. 用戶黑名單和白名單攔截。

秒殺接口:

  1. 服務降級級、隔離、熔斷。
  2. 從redis中獲取秒殺的令牌(能夠獲取到令牌就能夠秒殺成功,否則就秒殺失敗!)。
  3. 異步使用MQ執行修改庫存操作。
  4. 提供一個根據用戶信息查詢秒殺結果接口。

項目部署點:

  1. Nginx+lvs 實現服務高可用和集羣
  2. docker擴容

其他點:

  1. 分時段搶購

具體例子:現在有100個商品同時秒殺搶購,每個商品庫存爲100個? 基於mq+庫存令牌桶 100*100=10000, 數據庫執行修改庫存操作壓力還是非常大?


最靠譜的訪問,可仿照12306分時段秒殺(中午、下午) 。

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章