如何在Redis中只提供一个实例来处理事件



我用3台机器处理Redis中的事件。但我不希望任何事件由x机器处理,其他机器不会处理

我在nodejs上工作。我使用订阅方法进行处理。

Redis.psubscribe('__keyevent@0__:incrby...

我看到了如何确保我的事件只由我的应用程序的一个实例处理?以及是否支持Redis Pub/Sub上的竞争消费者?,但是他们真的很老了。也许还有更好的办法。

Redis pubsub并不是为这样的用例而设计的。使用Redis Streams可以实现您想要的。几天前,它作为Redis 5.0的一部分发布。您可以有3个使用者(每个实例/机器1个使用者(作为从Redis流读取数据的同一使用者组的一部分。Redis将确保这三个消费者从同一个流中获得不同的消息。

相关内容

最新更新