Nous avons des clés Redis avec un TTL donné auquel nous aimerions nous abonner et agir dès que le TTL arrive à expiration (un planificateur de tâches).Abonnements Redis keyspace notifications dans un environnement distribué utilisant ServiceStack
Cela fonctionne bien dans un environnement à hôte unique, et lorsque vous vous abonnez dans ServiceStack, à l'aide de son client Redis, à '[email protected]__:expired'
, ce service le sélectionne et prend des mesures. C'est fantastique ...
... jusqu'à ce que vous ayez configuré une topologie à haute disponibilité, avec plus d'une instance d'API dans ce cluster. Ensuite, chaque hôte semble prendre connaissance de ce message et potentiellement faire des choses avec lui. Je sais que les notifications d'espace de touches ne fonctionnent pas exactement de la même manière que les événements de pub/sub ou de couche de messagerie traditionnels, mais est-il possible d'effectuer une sorte d'acquittement sur ces types d'événements, de sorte que, à la fin de le jour, un seul hôte va continuer avec la tâche?
Sinon, existe-t-il un moyen de retarder la publication d'un message?
Merci!