Post

Kafka 소개

Kafka 소개 주제의 핵심 개념과 적용 포인트를 정리합니다.

Kafka 소개

Kafka를 왜 사용하는가

Kafka는 단순한 메시지 큐를 넘어, 여러 시스템이 같은 데이터를 독립적으로 소비할 수 있게 해주는 데이터 허브 역할을 한다.
이벤트가 발생하면 프로듀서가 Kafka 토픽에 기록하고, 컨슈머는 자신의 속도에 맞춰 데이터를 처리한다.

이 구조의 핵심 장점은 생산(쓰기)과 소비(읽기)를 분리한다는 점이다.
덕분에 특정 소비 시스템이 느려지거나 일시적으로 중단되어도, 다른 소비 시스템은 영향을 덜 받고 계속 동작할 수 있다.

분산 커밋 로그 관점에서 보기

Kafka를 이해할 때 가장 중요한 키워드는 로그(log)다.
메시지는 파티션 끝에 순차적으로 추가(append)되고, 컨슈머는 오프셋을 기준으로 위치를 관리한다.

이 방식은 다음과 같은 특성을 만든다.

  • 같은 파티션 안에서는 순서가 보장된다.
  • 마지막 처리 위치(오프셋)를 기준으로 재처리/재시작이 가능하다.
  • 보관 정책(retention) 동안 데이터를 다시 읽어 검증하거나 재처리할 수 있다.

실무에서 체감하는 강점

Kafka는 다음 상황에서 특히 효과적이다.

  • 이벤트를 여러 시스템(통계, 알림, 검색, 정산 등)으로 동시에 흘려야 할 때
  • 트래픽 피크 시간대에도 안정적으로 적재하고, 백엔드 소비는 비동기로 분산 처리해야 할 때
  • 장애 복구나 재처리를 위해 과거 이벤트 이력이 필요할 때

즉, Kafka는 “한 번 전송하고 끝”이 아니라 “저장된 이벤트를 필요할 때 다시 소비”하는 구조를 만들기 위한 플랫폼이다.

This post is licensed under CC BY 4.0 by the author.