유튜브블로그Top 10
내 프로필

데브허브 안내
소개업데이트 소식

데브허브 커뮤니티

Kafka 입문·실전 - 3.3. [실습] Spring Boot로 재시도조차 실패한 메시지 사후 처리하기

JSCODE 박재성

2025. 8. 1.

0

#backend
  • 카프카에서 재시도 실패한 메시지를 DLT(Dead Letter Topic)에 저장하는 것만으로는 문제 해결이 불가능하며, 저장된 메시지를 확인하고 조치를 취해야 함 🤔
  • 현업에서는 DLT에 저장된 실패 메시지를 로그 시스템에 저장하여 장애 원인 추적 🕵️
  • DLT에 메시지 적재 시 알림을 설정하여 관리자가 인지하도록 함 🚨
  • 관리자는 로그를 통해 장애 원인을 분석하고 메시지 폐기 또는 수동 처리 여부를 결정 👨‍💼
  • 메시지 수동 처리 방법으로는 원래 토픽으로 재전송, 메시지 폐기(로그 보관), 프로듀서 단에서 검증 로직 보완 등이 있음 🔄
  • 잘못된 메시지는 프로듀서에서 검증하여 카프카에 유입되는 것을 방지하고, 사용자에게 빠른 실패 응답 제공 🚫
  • 실제 코드에서는 DLT 토픽을 리스닝하는 컨슈머를 구현하여 로그 시스템 전송 및 알림 발송 로직을 추가 👩‍💻
  • DLT 토픽에 메시지가 쌓이면 컨슈머가 해당 메시지를 처리하여 로그 시스템에 전송하고 슬랙으로 알림을 발송하는 것을 확인 ✉️
  • 컨슈머가 메시지 처리 실패 후 재시도 실패 시 DLT 토픽으로 메시지를 전송하고, DLT 토픽 컨슈머가 이를 처리하는 과정을 실습함 ✅

Recommanded Videos