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.
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
İlgili terimler
- Mesaj onayıMesaj onayı, bir teslimatın belirlenen kurala göre alındığını veya işlendiğini mesaj aracısına bildirir.
- Transactional InboxTransactional inbox, tekrar teslim edilen mesajların yerel işlemi yinelemesini önlemek için kalıcı mesaj kayıtları kullanır.
- Tekrar deneme stratejisiTekrar deneme stratejisi hangi hatada, ne kadar bekleyerek ve hangi sınıra kadar yeniden deneneceğini belirler.
- Server-Sent EventsServer-Sent Events, arka plan işinin ilerlemesi gibi metin bildirimlerini HTTP bağlantısıyla sunucudan istemciye taşır.
- ETagETag, HTTP kaynağının belirli bir gösterim sürümünü tanımlar; koşullu okuma veya değişiklik isteklerinde kullanılır.
- Cross-Origin Resource SharingCORS, tarayıcıda farklı origin’den gelen yanıtların okunmasını düzenler. API’de oturum açmanın veya yetki kontrolünün yerini tutmaz.
Projeniz ASES ile
Projenizi bize anlatın. İlk değerlendirmemizle size dönelim.