Sektörden Haberler

Dead Letter Queue (DLQ) Nedir?

23 Mart 2026 Pazartesi


Dead Letter Queue (DLQ), mesajlaşma sistemlerinde işlenemeyen veya hatalı mesajların ayrı bir kuyruğa taşınarak izole edilmesini sağlayan bir mekanizmadır. Normal akışta tüketilemeyen mesajlar sistemden silinmek yerine DLQ’ya gönderilir. Böylece hem veri kaybı önlenir hem de hatalı mesajlar analiz edilebilir hale gelir.

Bir mesajın DLQ’ya düşmesinin çeşitli nedenleri olabilir: işlem sırasında hata oluşması, mesajın beklenen formatta olmaması, maksimum retry sayısının aşılması veya tüketici servisin sürekli başarısız olması. Bu durumlarda mesajı sürekli tekrar denemek yerine DLQ’ya almak, sistemin gereksiz yük altında kalmasını engeller.

DLQ, özellikle asenkron mesajlaşma sistemlerinde hata yönetiminin temel bileşenlerinden biridir. Kafka, RabbitMQ ve AWS SQS gibi sistemler DLQ desteği sunar. Bu yapı sayesinde hatalı mesajlar ana akıştan ayrılır, geliştiriciler bu mesajları inceleyip düzeltme (reprocess) işlemleri yapabilir.

Kısacası DLQ, sistemin “çöp kutusu” değil, bir inceleme ve kurtarma alanıdır. Hataları gizlemek yerine görünür kılar, veri kaybını engeller ve sistemin sağlıklı çalışmasını sürdürmesine yardımcı olur. Doğru kullanıldığında, dağıtık sistemlerde hata yönetimini kontrol altına alan kritik bir güvenlik mekanizmasıdır.

Mesaj Akışı: Retry → DLQ

Bu akışta bir mesaj önce ana kuyruğa (Main Queue) gelir ve tüketici tarafından işlenir. Eğer işlem başarılıysa süreç tamamlanır. Ancak hata oluşursa mesaj belirli sayıda yeniden denenir (retry mekanizması). Eğer bu denemeler de başarısız olursa, mesaj DLQ’ya aktarılır.

DLQ’ya düşen mesajlar burada bekletilir; geliştiriciler bu mesajları inceleyebilir, hatayı düzelttikten sonra tekrar işleme alabilir (reprocess). Bu yaklaşım sayesinde sistem hem veri kaybını önler hem de hatalı mesajların ana akışı bozmasını engeller.