หน้านี้นำเสนอวิธีการกำหนดค่า Asynq เพื่อใช้ Redis Sentinel เพื่อป้องกันการหยุดชะงั่วที่เกิดจากความล้มเหลวของ Redis
ข้อกำหนดพื้นฐาน
โปรดอ่านเอกสารทาง Redis Sentinel เพื่อเข้าใจเรื่องนี้
กำหนดค่า Asynq เพื่อใช้ Redis Sentinel
มันง่ายมากที่จะกำหนดค่า Client
และ Server
ของ asynq
ให้ใช้ Redis Sentinel ใช้ RedisFailoverClientOpt
เพื่อระบุชื่อของโหนดหลักของ Redis และที่อยู่ของ Redis Sentinel
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
ทราบเกี่ยวกับโหนดหลักใหม่ และการประมวลผลงานพื้นหลังจะทำงานต่อไปตามปกติ