Trang này giới thiệu cách cấu hình Asynq để sử dụng Redis Sentinel để tránh thời gian không hoạt động do sự cố của Redis.

Tiền điều kiện

Vui lòng đọc tài liệu về Redis Sentinel để hiểu vấn đề.

Cấu hình Asynq để sử dụng Redis Sentinels

Rất đơn giản để cấu hình asynq's ClientServer để sử dụng Redis Sentinel. Sử dụng RedisFailoverClientOpt để chỉ định tên của nút chủ Redis và địa chỉ của Redis Sentinels.

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

Sau đó, chuyển tùy chọn client này vào NewClientNewBackground để tạo một phiên bản sử dụng Redis Sentinels.

client := asynq.NewClient(redis)

// ...

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

Với cấu hình này, khi nút chủ Redis gặp sự cố, Sentinels sẽ khởi chạy quá trình chuyển giao và thông báo cho asynq về nút chủ mới, và việc xử lý nhiệm vụ nền sẽ tiếp tục làm việc bình thường.