Özet - Message queue
- Node.js kursu
- İleri seviye
- Ders 60/83
- 5 dk
Producer, consumer ve retry'ı birleştirerek bir arka plan iş sistemi yazarsın.
Özet - Message queue
Bu grupta Bull ile mesaj kuyruğu kurmayı öğrendin: new Bull("isim") ile kuyruk oluşturmak, queue.add ile producer yazmak, queue.process ile consumer tanımlamak ve attempts/backoff ile retry ayarlamak.
Şimdi bunları birleştirip küçük bir e-posta kuyruğu iskeleti kuracaksın. İskelet bir kuyruk oluşturacak, mesaj ekleyecek ve bir consumer tanımlayacak. Bu mini görev, kuyruk araçlarının nasıl birleştiğini gösterir.
E-posta kuyruğu tasarımı
Bir e-posta kuyruğunun iskeleti şöyledir: new Bull("email") ile kuyruk, queue.add ile mesaj, queue.process ile consumer. Retry ve backoff da eklenir.
Akış: const kuyruk = new Bull("email"); kuyruk.add({ alici: "ayse@x.com" }, { attempts: 3, backoff: 1000 }); kuyruk.process(async (job) => { console.log("Gönderildi: " + job.data.alici); });. Mesaj kuyruğa eklenir; consumer mesajı alıp e-postayı gönderir. Hata olursa 3 kez denenir. Bu iskeletin üzerine önceliklendirme, zamanlama ve ölü mesaj kuyruğu (DLQ) eklenebilir. Bull, tüm bunları basit bir API ile yönetir.
Uygulama E-posta kuyruğu iskeletini kur
bull içe aktar ve kuyruk = new Bull("email") oluştur. kuyruk.process(async (job) => { console.log("Gönderildi: " + job.data.alici); }) ile consumer tanımla. console.log ile "Kuyruk sistemi hazır" yaz.
Başlangıç kodu
// bull içe aktar, kuyruk oluştur ve consumer tanımla
// buraya yaz
// "Kuyruk sistemi hazır" yazdır
// buraya yazÖrnek çözüm
const Bull = require("bull");
const kuyruk = new Bull("email");
kuyruk.process(async (job) => {
console.log("Gönderildi: " + job.data.alici);
});
console.log("Kuyruk sistemi hazır");Beklenen çıktı
Kuyruk sistemi hazır
Soru ve cevaplar
Dersin sorularını cevaplarıyla birlikte inceleyebilirsin. Kendini denemek istersen dersi interaktif olarak çöz.
1 Kuyruk iskeleti hangi parçaları birleştirir?
new Bull + add + process- Yalnızca require
- Yalnızca console.log
- Yalnızca attempts
- Bull, add, process ve backoff Doğru cevap
Açıklama: Bull + add + process + backoff birleşir.
2 Aracı rolüne eşle
| Kavram | Anlamı |
|---|---|
new Bull |
Kuyruk oluşturur |
queue.add |
Mesaj ekler |
queue.process |
Consumer tanımlar |
backoff |
Deneme arası bekler |