gpt4 book ai didi

concurrency - 如何在非阻塞系统中处理货币交易?

转载 作者:行者123 更新时间:2023-12-04 03:07:54 25 4
gpt4 key购买 nike

我正在做一个广告服务器(有点像 RTB),有些广告商会付费推广他们的广告事件。

当用户观看广告时,我想向广告商收费。

广告事件应该参与竞价而不被阻止,这意味着他可以同时竞标多个广告请求。由于我必须卡住他的余额,因此很难立即向广告客户收费。

另一种方法是不立即向他收费,而是每 N 秒在单独的过程中收费一次,希望这样他就不会购买超出他负担能力的展示次数。我可以为他参加拍卖提供某种阈值信用,这将消除大部分超支,但是如果退出流程并且广告商没有被收取费用并且超支很多,那将是一个问题。

有人可以告诉我这些事情通常是如何处理的,或者推荐一些关于这个主题的书/文章,好吗?

最佳答案

如果这是异步编程的问题,这意味着您担心出价人一次出价过多时收取过高的费用。那么我建议使用 mutex (即锁定系统)。您可以为投标人在任何给定时间可以在您的系统中拥有的锁定数量设置阈值。此阈值可以等于出价者愿意在展示上花费的最大金额。当投标人请求投标时,应将其帐户中该投标的锁定发送到您的服务器。当服务器以 ok 响应表示已创建锁时,可以进行投标。在您的服务器释放锁定之前,投标一直处于事件状态。这使得服务器跟踪所有出价并锁定所有出价。如果投标人有 10 个投标的阈值,并且他试图在第 11 天投标,则服务器将不会向投标人释放锁定以进行此投标。此外,如果您使用的是微服务架构,我建议您创建一个 transaction manager服务来处理所有这些请求,甚至使用 Saga在服务器故障的情况下,基于事务的功能回滚。

profile for Dalton at Stack Overflow, Q&A for professional and enthusiast programmers

关于concurrency - 如何在非阻塞系统中处理货币交易?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/56792674/

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