İçeriğe geçin

Dead-letter kuyruğu

Dead-letter kuyruğu, işlenemeyip ayrılan mesajları incelemek ve kontrollü biçimde yeniden işlemek için saklayan ayrı bir kuyruktur.

Diğer adlarıDLQDead-letter queue
API ve veri sözleşmeleri

Dead-letter kuyruğu (DLQ), normal akıştan ayrılan mesajlar için kullanılan ayrı bir kuyruktur. İşlenemeyen mesajları incelemeye ve kontrollü biçimde yeniden işleme almaya açar. Hangi mesajların buraya gideceğini yapılandırma belirler; her uygulama hatası otomatik olarak bu kuyruğa yönlenmez.

Ayırma işleminin geri dönüş yolu olmalı

Kurgusal bir entegrasyon sisteminde E-81 mesajı desteklenmeyen bir şema sürümü içerir. Normal akışta sonsuz kez denenmesi yerine kurulmuş hata rotasıyla ayrılır. Ekip hata nedenini ve mesaj kimliğini izlenebilir şekilde kaydeder. Veri düzeltildikten veya mesajı işleyen bileşen uyarlandıktan sonra mesajı kontrollü biçimde yeniden işleyebilir; aynı etkinin iki kez oluşmasını önler.

RabbitMQ’da Dead-Letter Exchange (DLX), bu mesajları kendisine bağlanmış kuyruklara yönlendiren dağıtım noktasıdır; DLQ’nun kendisi değildir. Yeniden kuyruğa almadan reddetme, mesajın geçerlilik süresinin dolması veya yapılandırılmış sınırlar yönlendirme nedeni olabilir. Rotalar ve uygun kuyruk bağlantıları kurulmalıdır.

İzleme, erişim yetkileri, saklama ve yeniden işleme yöntemi de tasarlanmalıdır. DLQ’ya ulaşmak, işin tamamlandığı veya otomatik onarıldığı anlamına gelmez. Aktarım da genel bir kayıpsızlık garantisi vermez: RabbitMQ’nun varsayılan dead-lettering davranışında hedef kuyruk kullanılamıyorsa mesaj kaybı olabilir.

Kaynaklar