Cette page présente comment configurer Asynq pour utiliser Redis Sentinel afin d'éviter les temps d'arrêt causés par les défaillances de Redis.

Prérequis

Veuillez lire la documentation sur Redis Sentinel pour comprendre le sujet.

Configurer Asynq pour utiliser Redis Sentinel

Il est très simple de configurer le Client et le Serveur de asynq pour utiliser Redis Sentinel. Utilisez RedisFailoverClientOpt pour spécifier le nom du nœud maître Redis et les adresses des Sentinelles Redis.

var redis = &asynq.RedisFailoverClientOpt{
    MasterName:    "mymaster",
    SentinelAddrs: []string{"localhost:5000", "localhost:5001", "localhost:5002"},
}

Ensuite, transmettez cette option client à NewClient et à NewBackground pour créer une instance en utilisant Redis Sentinel.

client := asynq.NewClient(redis)

// ...

srv := asynq.NewServer(redis, asynq.Config{ Concurrency: 10 })

Avec cette configuration, lorsque le nœud maître Redis échoue, les Sentinelles initieront le processus de basculement et informeront asynq du nouveau nœud maître, et le traitement des tâches en arrière-plan continuera de fonctionner normalement.