我用3台机器处理Redis的事件。但是我不希望x机器处理任何事件,其他机器也不会处理。
我正在研究nodejs。我使用订阅方法进行处理。
Redis.psubscribe('__keyevent@0__:incrby...
我看到了How to make sure my event is handled by only one instance of my app?和Competing Consumer on Redis Pub/Sub supported?,但是它们确实很老。可能有更好的方法。
答案 0 :(得分:2)
Redis pubsub不适用于这种用例。您可以通过使用Redis Streams来实现。几天前,它作为Redis 5.0的一部分发布。 您可以将3个使用者(每个实例/机器1个使用者)作为从Redis流读取的同一使用者组的一部分。 Redis将确保3个使用者从同一流中获得不同的消息。