問題從何而來
- 兩位客戶在同一瞬間預約。兩人都看到「剩 1 個名額」,兩人都送出。如果工具先檢查、再記錄,中間卻沒有擋住另一筆請求,兩筆都會成功。
- 電話與網站。您在筆記本上記下一筆預約;網站卻不知道。
- 兩份行事曆。您的個人行事曆顯示「忙碌」,網站卻顯示「可預約」。
- 多晚的住宿,只檢查第一晚的時候。
五條規則
- 只有一個地方在計算。所有預約,不論是線上、電話或櫃檯,都經過同一個工具。
- 在記錄的那一刻,於伺服器上檢查。不是在客戶的瀏覽器中,也不是在幾秒鐘之前。
- 同一個名額一次只處理一筆請求。兩筆同時到達時,第二筆會等第一筆處理完,然後發現已經沒有名額。
- 在別處被佔用的時間要停止開放預約。您個人行事曆裡的一個約會,必須讓網站上的那個時段關閉。
- 關閉之前,先看清會影響什麼。在關閉某一天之前,先看看落在這一天的預約。
絕不出錯的測試
在兩個分頁或兩支手機上開啟同一個日期,只剩一個名額。幾乎同時在兩邊送出預約。應該只有一筆預約成功;另一筆應該收到清楚的拒絕訊息。