Ta strona przedstawia, jak skonfigurować Asynq do korzystania z Redis Sentinel w celu uniknięcia przestojów spowodowanych awariami Redis.

Wymagania wstępne

Proszę przeczytać dokumentację na temat Redis Sentinel, aby zrozumieć temat.

Konfiguracja Asynq do korzystania z Redis Sentinels

Bardzo proste jest skonfigurowanie asynq's Client oraz Server, aby korzystały z Redis Sentinel. Użyj RedisFailoverClientOpt, aby określić nazwę węzła głównego Redis oraz adresy Sentinelów Redis.

var redis = &asynq.RedisFailoverClientOpt{
    MasterName:    "mymaster",
    SentinelAddrs: []string{"localhost:5000", "localhost:5001", "localhost:5002"},
}

Następnie przekaż tę opcję klienta do NewClient oraz NewBackground, aby utworzyć instancję korzystającą z Redis Sentinels.

client := asynq.NewClient(redis)

// ...

srv := asynq.NewServer(redis, asynq.Config{ Concurrency: 10 })

Dzięki tej konfiguracji, kiedy węzeł główny Redis ulegnie awarii, Sentinele zainicjują proces awaryjny i powiadomią asynq o nowym węźle głównym, a przetwarzanie zadań w tle będzie kontynuowane normalnie.