Questa pagina introduce come configurare Asynq per utilizzare Redis Sentinel per evitare tempi di inattività causati dai fallimenti di Redis.
Prerequisiti
Si prega di leggere la documentazione su Redis Sentinel per comprendere l'argomento.
Configurare Asynq per utilizzare Redis Sentinels
È molto semplice configurare il Client
e Server
di asynq
per utilizzare Redis Sentinel. Usare RedisFailoverClientOpt
per specificare il nome del nodo master di Redis e gli indirizzi dei Redis Sentinels.
var redis = &asynq.RedisFailoverClientOpt{
MasterName: "mymaster",
SentinelAddrs: []string{"localhost:5000", "localhost:5001", "localhost:5002"},
}
Quindi passare questa opzione del client a NewClient
e NewBackground
per creare un'istanza utilizzando Redis Sentinels.
client := asynq.NewClient(redis)
// ...
srv := asynq.NewServer(redis, asynq.Config{ Concurrency: 10 })
Con questa configurazione, quando il nodo master di Redis fallisce, i Sentinel avvieranno il processo di failover e notificheranno ad asynq
il nuovo nodo master, e l'elaborazione dei task in background continuerà a funzionare normalmente.