Kafka 메시지 전송 보장 방식 알아보기 (At Most Once, At Least Once, Exactly Once)

• Apache Kafka의 메시지 전달 보장 방식에는 At Most Once, At Least Once, Exactly Once가 있으며, 각각 메시지의 중복 및 유실을 어떻게 처리할지를 결정하는 중요한 요소입니다.
• At Most Once 방식은 메시지를 최대 한 번만 전달하며, 메시지 유실 가능성이 있지만 중복은 발생하지 않습니다. 이 방식은 구현이 간단하고 처리 지연이 적으며, Spring Boot 환경에서는 자동 커밋 옵션을 통해 구현할 수 있습니다.
• 로그 수집 시스템에서 At Most Once 전달 보장은 중복 로그를 방지하지만 데이터 유실 가능성이 있으며, 데이터 유실이 치명적이지 않은 상황에서는 고려될 수 있습니다. 그러나 중요한 비즈니스 트랜잭션에는 적합하지 않으며, At-Least-Once 또는 Exactly-Once 패턴이 필요합니다.
• At Least Once 전달 보장은 메시지가 적어도 한 번은 전달되도록 보장하지만 중복 전달 가능성이 있습니다. 이를 해결하기 위해 애플리케이션 레벨에서 멱등성 처리를 구현하거나 중복 영향을 복구해야 하며, 카프카에서는 수동 커밋을 통해 메시지 중복 처리를 관리할 수 있습니다.

북마크
공유하기
신고하기