【发布时间】:2016-03-23 21:39:04
【问题描述】:
如果我们的数据库中修改了某些特定数据,我们的 API 需要向 Zapier 发送数据。
例如,我们有一个 company 表,如果 name 或 address 字段被修改,我们将触发 Zapier 挂钩。
有时我们的 API 会在几分钟内收到多个更改请求,但我们不想多次触发 Zapier 挂钩(因为它非常昂贵),所以我们调用了 setTimeout()(并覆盖了现有的 @987654322 @) 在每个修改请求上,带有 5000ms 延迟。
它工作正常,即使我们在此5000ms 期间收到来自客户端的大量修改请求,也没有多次 Zapier 挂钩调用。
现在 - 由于我们的流量正在增长 - 我们想在一些负载均衡器后面设置多个 node.js 实例。
但在这种情况下,不同的 Node.js 实例不能使用 - 并覆盖 - 同一个 setTimeout 实例,这会导致很多无用的 Zapier 调用。
你们能否帮助我们,如何解决这个问题 - 同时保持可扩展性?
【问题讨论】:
标签: javascript node.js settimeout message-queue raft