Эта страница представляет, как настроить Asynq для использования Redis Sentinel, чтобы избежать простоев, вызванных сбоями Redis.
Предварительные требования
Пожалуйста, прочтите документацию по Redis Sentinel, чтобы понять эту тему.
Настройка Asynq для использования Redis Sentinels
Очень просто настроить Client
и Server
Asynq
для использования Redis Sentinel. Используйте RedisFailoverClientOpt
, чтобы указать имя главного узла Redis и адреса Redis Sentinels.
var redis = &asynq.RedisFailoverClientOpt{
MasterName: "mymaster",
SentinelAddrs: []string{"localhost:5000", "localhost:5001", "localhost:5002"},
}
Затем передайте этот вариант клиента в NewClient
и NewBackground
, чтобы создать экземпляр с использованием Redis Sentinels.
client := asynq.NewClient(redis)
// ...
srv := asynq.NewServer(redis, asynq.Config{ Concurrency: 10 })
С этой конфигурацией, когда главный узел Redis не работает, Sentinels инициируют процесс переключения и уведомляют Asynq
о новом главном узле, и обработка фоновых задач продолжит нормальную работу.