배경이커머스 기반 주문 처리 시스템에서 Kafka를 도입하며, 대량 메시지 처리 환경에서도 안정적인 소비와 중복 방지, 장애 복구 구조를 어떻게 구현할지에 대한 실전 고민이 있었습니다.Kafka는 at-least-once 전달을 보장하지만, 이는 곧 중복 소비의 가능성이 있다는 뜻입니다. 실제 장애 상황에서 메시지가 두 번 처리되며 중복 주문이 발생하는 문제를 경험하게 되었고, 이를 계기로 구조 개선을 시작하게 되었습니다.문제 상황 1 - 중복 메세지 소비Kafka 컨슈머가 메시지를 처리 중 예외가 발생하면, 해당 오프셋이 커밋되지 않아 같은 메시지를 다시 소비합니다.단순히 보면 메시지를 놓치지 않기 위한 설계지만, 이로 인해 실제 주문이 두 번 처리되는 문제가 발생했습니다. 대응 1 – 수동 커밋 도입..