หน้านี้นำเสนอวิธีการกำหนดค่า 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 ทราบเกี่ยวกับโหนดหลักใหม่ และการประมวลผลงานพื้นหลังจะทำงานต่อไปตามปกติ