电影票预订的有效方法

时间:2018-03-06 18:30:40

标签: database algorithm

我正在试图找出电影票预订系统的有效方法。我关注的主要方面是用户处理并发预订,即两个或更多用户试图在给定时间内预订相同的座位。

我在网上经历的许多解决方案建议通过同步处理并发,即使其他用户可以看到事务(类似于java中的同步方法/块)。

我的感觉是,上述方法可能不是一个可扩展的解决方案,因为如果请求数量增加到一百万/秒。我们不能指望这些交易是逐个线性的。它会注入很多延迟。

我的方法之一是保持座位状态,如

EMPTY
IN_PROGRESS
BOOKED

点击付款按钮后,状态将从EMPTY更改为IN_PROGRESS。所以其他用户选择相同的座位并点击付款按钮,可以对座位状态进行检查,如果IN_PROGRESS则可以显示合适的消息。

如果已完成付款的用户,如果座位成功状态更改为BOOKED,则失败状态将更改为EMPTY。

请告诉我,我的方法是否有任何问题,或者是否有任何有效的方法来处理座位预订中的并发性。谢谢

0 个答案:

没有答案