由Redis for NodeJS

时间:2016-03-11 21:09:14

标签: node.js redis queue

我想确保在服务器实例(或集群节点)之间一个接一个地调用每个函数。 我可以在需要时自由地将功能添加到队列中,并且这些功能是异步的。

它可以得到Redis的支持,并且可以使用NodeJS。

请你知道任何lib吗? 或任何实施方式?

我尝试了许多像Kue一样的队列库,但它不能确保只在实例之间调用。

非常感谢 SEB

1 个答案:

答案 0 :(得分:0)

我发现了怎么做。 对于任何被捕者:我使用无限重试的锁定库。

lib是node-redlock:https://github.com/mike-marcacci/node-redlock 它实现了Redis最新推荐的锁定资源的方法:http://redis.io/topics/distlock在Clustered Redis基础架构上更可靠。此页面上的节点比NodeJS更多。

具有函数调用轮询队列的愚蠢技巧是使用具有Infinity的锁定器作为retryCount设置的值。 很容易用一个具有aquire(callabck)广告发布功能的对象来包装它。

如果有人批评这种解决方案和/或其他技术,我会很高兴听到。

由于