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.