【发布时间】:2022-11-17 00:38:22
【问题描述】:
我想了解系统如何处理并发出价。两个投标人可能会同时出价相同的金额,甚至可以精确到毫秒(考虑到有大量用户正在为该项目出价)。在那种情况下,系统将如何管理投标?
例如; 让我们假设一个吊坠是为了出价而放置的。当前出价为 3.75 美元。现在下一个投标人必须出价 4 美元或更多。现在,两个投标人(多个投标人)同时出价 4 美元,因为他们看到的当前出价是 3.75 美元。多个投标人同时出价相同的金额。系统现在将如何处理出价?如果他们中的任何一个出价早了一点,那么下一个出价者的出价就必须比前一个出价者多一点。但在这种情况下,两个投标人恰好在同一时间为同一物品出价相同。
谁的出价被认为是当前出价?
【问题讨论】:
-
嘿@guru-dev 你有没有自己想出任何解决方案?我有同样的问题困扰着我:)。
-
您可以根据需要在这种情况下制定规则,您要么接受最早的出价,要么接受最晚的出价,精确到毫秒,假设两者都被接受。这取决于你的逻辑。如果您连续处理它们(为该拍卖锁定出价表的队列或数据库事务),那么您将拒绝重复的出价,因为至少其中一个已经被处理并且用户必须重新出价。如果这是在拍卖的最后几秒,通常的做法是自动延长拍卖时间。
标签: concurrency queue