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.