对于在线订购音乐会座位或机票,我们需要记录级别锁定还是交易足够好?
对于演唱会门票(比如说,20B 号座位),或者机票(例如超额预订,限制是 210,例如),我认为网站在显示购票屏幕时无法锁定任何记录或开始交易。
但是用户点击“Confirm Purchase”后,服务器应该Begin a Transaction,Purchase Seat Number 20B,并尝试Commit。
如果另一个用户在之前的交易中已经购买了Seat 20B,那么当前交易会失败的是“提交”部分吗?
所以...我们不需要记录级别锁定?事务是否总是序列化(一个接一个),这就是为什么我们可以确定没有“竞争条件”的原因?那么在什么情况下需要记录级别锁定呢?