我正在做一个广告服务器(类似于RTB),有一些广告商付费推广他们的广告活动。
当用户观看广告时,我想向广告商收费。
广告活动应该在没有阻止的情况下参与拍卖,这意味着他可以同时竞标多个广告请求。这将使立即向广告商收费变得困难,因为我将不得不阻止他的余额。
另一种方法是不立即向他收费,但在单独的过程中每N秒一次,并希望他没有购买超出他负担能力的印象。我可以让他参与拍卖的门槛积分,这将消除大多数超支,但如果过程退出,广告商没有被收费和超支太多,那将是一个问题。
有人能告诉我这些事情通常是如何处理的吗?也许可以推荐一些关于这个主题的书/文章?
发布于 2019-07-06 22:44:00
如果这是异步编程的问题,这意味着当投标人同时提交太多印象出价时,您会担心向投标人收取过高的费用。然后我建议使用mutex (即锁定系统)。您可以对投标人在任何给定时间在您的系统中可以拥有的锁数设置阈值。这个阈值可以等同于投标人愿意在印象上花费的最大金额。当投标人请求出价时,他的帐户上的出价锁定应该发送到您的服务器。当服务器以ok响应响应已创建锁时,则可以进行竞价。在您的服务器释放锁之前,bid一直处于活动状态。这样,服务器就可以跟踪所有的出价,并锁定所有的出价。如果投标人有10个出价的门槛,并且他试图对第11个出价进行出价,那么服务器将不会释放对投标人的锁定来进行此出价。此外,如果您正在使用微服务体系结构,我建议使用transaction manager服务来处理所有这些请求,甚至在服务器发生故障的情况下使用基于Saga的事务进行回滚。

https://stackoverflow.com/questions/56792674
复制相似问题