Esta página apresenta como configurar o Asynq para usar o Redis Sentinel para evitar tempo de inatividade causado por falhas no Redis.
Pré-requisitos
Por favor, leia a documentação sobre Redis Sentinel para entender o tópico.
Configurar o Asynq para usar o Redis Sentinel
É muito simples configurar o Cliente
e o Servidor
do asynq
para usar o Redis Sentinel. Use RedisFailoverClientOpt
para especificar o nome do nó mestre do Redis e os endereços dos Sentinels do Redis.
var redis = &asynq.RedisFailoverClientOpt{
MasterName: "mymaster",
SentinelAddrs: []string{"localhost:5000", "localhost:5001", "localhost:5002"},
}
Em seguida, passe esta opção de cliente para NewClient
e NewBackground
para criar uma instância usando Redis Sentinels.
client := asynq.NewClient(redis)
// ...
srv := asynq.NewServer(redis, asynq.Config{ Concurrency: 10 })
Com esta configuração, quando o nó mestre do Redis falha, os Sentinels iniciarão o processo de failover e notificarão o asynq
do novo nó mestre, e o processamento de tarefas em segundo plano continuará a funcionar normalmente.