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 Client
và Server
để 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 NewClient
và NewBackground
để 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.