※ 引述《SmallBee.bbs@binary.csie.ncu.edu.tw (喵~~~)》之銘言:
: 流程2
: 使用者下訂單, 此時不是直接寫入資料庫, 而是向一個唯一服務程式送出空位註冊
: 該服務程式使用UDP+CRC Check+單執行緒確保不會有兩個請求同時到達
: 資料內容包含訂票機識別號碼
: 由於只有唯一的程式負責寫入訂位, 自然沒有重複畫位問題
這一項並不能保證不會有二個 *來自使用者的* 服務請求同時送達,
事實上,二位以上的使用者都開啟訂票表單,選中同一個座位,並幾乎同時送出,
是合理的情況.
透過 UPD + CRC Check + single process 的確能保證請求訊息以序列方式送達,
但問題是,該怎麼向使用者交待?
"抱歉,訂購失敗,因為另一位使用者先訂走了你要的座位."
這使用感很不順暢.
--
※ 發信站: 批踢踢實業坊(ptt.cc)
◆ From: 61.231.18.104