軟體工程師的小事:到底要不要 Close

電子商務搶購模擬 - 模擬搶購應用程式簡介

模擬程式為使用 Visual Studio 2017 開發的 .NET Core v2.1 主控台應用程式

安裝 Visual Studio 2017 與建置 .NET Core v2.1 開發環境不在本文章範圍

詳細程式碼可參考 eShop.Loader 在 Github 的目錄
txstudio/eShopPanicBuyingSimulatorUseStoreProcedure/tree/master/netcoreapp/eShop.Loader

提供設定執行緒數量與開始執行時間來模擬資料庫受到大流量的情況

設定範例如下

dotnet eShop.Loader.dll -t 20 -e 13:01

上述指令碼執行後應用程式會建立 20 個執行緒數量,並等待系統時間到達 13:01 時開始執行模擬購買商品行為

eShop.Loader 的模擬購買情況

會取得所有商品清單並隨機選擇要購買的商品與數量:每次僅購買一項商品,數量隨機值為 1~2 。持續執行到所有商品的庫存已經售完就會停止執行,執行事件會紀錄在 Events.EventBuying 資料表

應用程式執行截圖

執行應用程式時會顯示設定資訊

到設定時間之後就會開始模擬購買行為

所有執行緒執行完畢後應用程式才會跳出離開訊息

執行的紀錄會儲存在 Events.EventBuying 資料表

若預存程序呼叫有錯誤的話會儲存在 Events.EventDatabaseErrorLog 資料表

接下來就要依情境來模擬不同資料庫設計的結果差異
將購訂單商品數量與庫存量作關聯

章節清單
  1. 電子商務網站商品搶購模擬 - 使用預存程序
  2. 建立 eShop 資料庫
  3. 模擬搶購應用程式簡介
  4. 將購訂單商品數量與庫存量作關聯
  5. 扣除購買商品的商品庫存量

留言