Kafka Producer 에러 유형과 대응
Kafka Producer 에러를 재시도 가능/불가로 나눠 운영 대응 전략을 정리합니다.
Kafka Producer 에러 유형과 대응
Producer 에러는 “재시도하면 회복되는가”를 기준으로 구분해야 운영 대응이 단순해진다. 이 기준이 없으면 모든 실패를 같은 방식으로 처리하게 되어 장애가 길어진다.
1) 재시도 가능한 에러
일시적인 인프라 상태 변화로 발생하는 에러다.
- 네트워크 일시 단절
- 리더 브로커 변경 직후 메타데이터 불일치
- 타임아웃성 실패
이 경우는 retries, retry.backoff.ms, delivery.timeout.ms를 조합해 회복 가능성을 확보한다.
2) 재시도 불가능한 에러
메시지나 설정 자체가 제약을 위반한 경우다.
RecordTooLargeException- 직렬화 실패
- 권한/토픽 설정 오류
이 유형은 재시도로 해결되지 않는다. 원인 데이터를 격리(DLQ)하고, 스키마/설정 수정을 선행해야 한다.
대응 정책을 분리해야 하는 이유
모든 에러를 무조건 재시도하면 큐 적체와 지연이 커지고, 실제 복구가 필요한 실패를 놓치기 쉽다.
권장 전략:
- 재시도 가능: 지수 백오프 기반 자동 재시도
- 재시도 불가: 즉시 실패 처리 + 경고 알림 + 원인 데이터 보관
실무 체크포인트
- 에러 로그에 topic/partition/key/exception class를 함께 남긴다.
- 프로듀서 재시도율과 최종 실패율을 분리 모니터링한다.
- DLQ에 쌓인 데이터를 주기적으로 분류해 “데이터 문제”와 “설정 문제”를 나눈다.
This post is licensed under CC BY 4.0 by the author.