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.