انتقل إلى المحتوى
أمين أبوزيد
درس مخطط لهMID-028-L06

معالجة الأخطاء ومواضيع الرسائل الميتة

  • الدرس 6 من 9
  • Mid-level
في هذا الدرس 4 موضوعات

هذا الدرس مخطط له. يعرض المخطط أدناه الموضوعات التي سيغطيها، ولم يُنشر الدرس الكامل بعد.

نص الدروس والتمارين باللغة الإنجليزية، بينما تبقى واجهة الموقع وعناوين الدروس بالعربية.

في هذا الدرس

keep a poison record from blocking a partition.

الموضوعات المخطط لها

  • An exception in a listener hits the error handler; the default DefaultErrorHandler retries with a back-off, then skips (logs).
  • Configure DeadLetterPublishingRecoverer to send failed records to <topic>.DLT.
  • Classify errors: retry transient ones (timeouts), send non-retryable ones (bad payload) straight to the DLT.
  • Non-blocking retry topics are available through @RetryableTopic (verify support for your version).
  • Monitor DLT size and keep the failure headers for diagnosis.
تفاصيل المخطط المبدئي

عرض عملي

java
@Bean DefaultErrorHandler errors(KafkaTemplate<Object,Object> t) {
  return new DefaultErrorHandler(new DeadLetterPublishingRecoverer(t), new FixedBackOff(1000L, 3));
}

اختبر فهمك

Where does a record go after retries are exhausted?

أظهر الإجابة

To the dead-letter topic.

التطبيق

طبّق هذا الدرس بمختبر الوحدة وتمارينها واختبارها.

المختبر والتمارين الاختبار

تعليم الدرس كمكتمل اختياري ويمكنك التراجع عنه في أي وقت. يبقى تقدمك محفوظًا في هذا المتصفح.

اكتب للبحث في المستويات والمراحل والوحدات والدروس.