Halaman ini memperkenalkan bagaimana mengkonfigurasi Asynq untuk menggunakan Redis Sentinel untuk menghindari waktu henti yang disebabkan oleh kegagalan Redis.

Persyaratan

Harap baca dokumentasi tentang Redis Sentinel untuk memahami topik ini.

Mengkonfigurasi Asynq untuk menggunakan Redis Sentinels

Sangat mudah untuk mengkonfigurasi asynq's Client dan Server untuk menggunakan Redis Sentinel. Gunakan RedisFailoverClientOpt untuk menentukan nama node master Redis dan alamat Redis Sentinels.

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

Kemudian berikan opsi klien ini ke NewClient dan NewBackground untuk membuat instansi menggunakan Redis Sentinels.

client := asynq.NewClient(redis)

// ...

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

Dengan konfigurasi ini, ketika node master Redis gagal, Sentinel akan memulai proses failover dan memberitahu asynq tentang node master baru, dan pemrosesan tugas latar belakang akan terus berjalan normal.