gpt4 book ai didi

ruby-on-rails - 实现在线等候室

转载 作者:行者123 更新时间:2023-12-04 14:20:16 25 4
gpt4 key购买 nike

我的组织正在构建我们的票务站点的新版本,并且正在寻找当我们购买路径中的用户数量超过特定限制时构建在线等候室的最佳方法。此队列的最佳版本将在现有用户完成购买或在进入路径后超过超时限制后让新用户进入。

我试图了解其他组织是如何实现的。有没有人做过类似的事情或有这方面的经验?我们有一些想法,但我想了解已经尝试了哪些解决方案以及这些解决方案遇到了哪些问题。

为了完整起见,这个站点是用 Ruby on Rails 构建的,尽管我很想听听人们是如何解决这个问题的,而不管平台如何。

编辑:澄清:排队的需要主要不是为了减少负载,而是为了限制网络购买门票的速度,相对于人们以其他方式购买,比如通过电话。

最佳答案

在为此概述一种方法之前,我想指出您想要做的事情没有多大意义。网络上的服务不像实体店,在那里我可以走过去看看那里很拥挤,然后决定是否留下。在您的网站上排队让我感到震惊,因为将责任从您(无法或不愿意充分提供资源)转移到我身上(因为我试图使用您的网站而惩罚我)。

如果您要出售诸如演出门票之类的东西,数量有限且每件元素都与座位相关联,我认为最好预订元素并在未及时付款的情况下暂停这些预订。 Ticketmaster 做到了这一点,我认为这是一个比将人挡在门口更好的解决方案。

如果你还想走这条路,那么我会这样设计系统:

当客户来到您的网站时,记录他们的到达时间。当他们与网站互动时,记录“最后一次看到”的时间。 “上次看到”将用于确定活跃度。您需要一个非常频繁地运行的后台作业来快速使 session 过期。

一旦达到您的限制,您就会有一个被阻止的有序队列。当客户完成交易或超时时,您将标记队列中的下一个人以进入购买路径。

对于排队的用户,他们的浏览器会定期发出请求,检查您是否已经让他们进入。如果是,他们继续购买路径。如果没有,他们继续等待。

购买路径需要一种机制来检查是否有人试图绕过您的等候区,并将他们送回。

关于ruby-on-rails - 实现在线等候室,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/2669891/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com