Diese Seite stellt vor, wie man Asynq konfiguriert, um Redis Sentinel zu verwenden, um Ausfallzeiten aufgrund von Redis-Ausfällen zu vermeiden.
Voraussetzungen
Bitte lesen Sie die Dokumentation zu Redis Sentinel, um das Thema zu verstehen.
Konfigurieren von Asynq zur Verwendung von Redis Sentinels
Es ist sehr einfach, den Client
und Server
von asynq
so zu konfigurieren, dass Redis Sentinel verwendet wird. Verwenden Sie RedisFailoverClientOpt
, um den Namen des Redis-Masternodes und die Adressen der Redis Sentinels anzugeben.
var redis = &asynq.RedisFailoverClientOpt{
MasterName: "mymaster",
SentinelAddrs: []string{"localhost:5000", "localhost:5001", "localhost:5002"},
}
Geben Sie dann diese Client-Option an NewClient
und NewBackground
, um eine Instanz unter Verwendung von Redis Sentinels zu erstellen.
client := asynq.NewClient(redis)
// ...
srv := asynq.NewServer(redis, asynq.Config{Concurrency: 10})
Mit dieser Konfiguration initiieren Sentinels im Falle eines Ausfalls des Redis-Masternodes den Failover-Prozess und benachrichtigen asynq
über den neuen Masterknoten, und die Verarbeitung von Hintergrundaufgaben wird normal weiterlaufen.