gpt4 book ai didi

node.js - 使用node.js监控变化(数据库中)

转载 作者:太空宇宙 更新时间:2023-11-03 22:18:49 25 4
gpt4 key购买 nike

首先,我必须声明,这更多是一个“策略”或“算法”类型的问题,我不确定它是否符合这里的规则。如果这是在错误的地方,请原谅我,如果是的话,请告诉我应该在哪里问问题。没必要表现出敌意。

我也做了我的研究(阅读像 Node.js - Monitoring a database for changesInvoking a PHP script from a MySQL trigger 这样的问题),但找不到真正满意的答案,所以......

我的场景:我正在经营一个储备拍卖网站。产品的价格设定为 100 美元,在拍卖期间(5 分钟至 10 分钟),价格会在随机时间下降(多次)至随机金额。这些随机的金额和时间其实是卖家一开始就已经设定好的。

会有很多买家/观察者,当价格下跌时,我们需要向他们更新实时价格。我一直在考虑不同的选择:1.我可以使用node.js来观看某些文件(每个产品都会有一个文件,其中仅包含该产品的当前价格,我们将简单地使用cron来更新这些文件?)2. 或者,由于我们事先已经知道价格何时会发生变化,我们可以为每个产品设置一个“计时器”,它会在特定时间唤醒并通知所有观看它的用户?

我认为也可能有一些更好的方法,这就是为什么我想将其发布在这里,希望已经做过类似事情的人可以对我有所启发_

提前非常感谢您。

最佳答案

这是一个什么样的数据库?如果是 CouchDB,您可以查看 _changes feed并确切地知道事情何时发生变化。如果这些买家使用网络浏览器,他们将更容易与此 Feed 同步。

如果是另一种没有更改源的数据库,则应使用 Pub/Sub 并在更新价格后立即发布到 channel 。然后,您在另一端监听,如果买家在网页上,您可以使用 WebSocket 更新他们的 View 。 Trello 的基础设施或多或少是这样的(Redis for Pub/Sub,然后它们在订阅中 Hook Web 套接字以更新网页)。

我认为这些是实时执行此操作的唯一方法。监听事件。每 x 毫秒检查是否有更改(也称为轮询)不是实时的。

关于node.js - 使用node.js监控变化(数据库中),我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/12024885/

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