TIL

TIL - Kafka 개념 정리

kinim329 2026. 3. 28. 23:54

Kafka란?

Apache kafka는 대용량 데이터를 실시간으로 처리하기 위한 분산 스트리밍 플랫폼이다.

데이터를 메시지 형태로 저장하고, 여러 시스템 간에 빠르게 전달할 수 있도록 도와준다.

 

Kafka를 사용하는 이유

  • 서비스 간 비동기 통신 가능
  • 대용량 데이터를 높은 처리량으로 안정적으로 처리
  • 데이터 유실 방지를 위한 내구성 보장
  • 서비스 간 결합도를 낮추는 느슨한 결합 구조

Kafka의 핵심 구성 요소

3-1 Producer

  • 데이터를 Kafka로 보내는 역할
  • 메시지를 특정 Topic으로 전송

3-2 Consumer

  • Topic에 저장된 데이터를 가져가는 역할
  • 여러 Consumer가 동시에 데이터를 처리 가능

3-3 Broker

  • Kafka 서버
  • 메시지를 저장하고 전달하는 역할

3-4 Topic

  • 메시지를 분류하는 단위

3-5 Partition

  • Topic을 나눈 단위
  • 병렬 처리와 성능 향상을 위해 사용

Kafka 동작 흐름

  1. Producer가 메시지를 생성
  2. 특정 Topic으로 메시지 전송
  3. Broker가 메시지를 저장
  4. Consumer가 메시지를 읽어서 처리

Kafka 특징

Pull기반 소비 방식

  • Consumer가 직접 데이터를 가져감

메시지 순서 보장

확장성

  • Broker 추가로 쉽게 확장 가능

로그 기반 저장 구조

  • 일정 기간동안 데이터 유지 가능

 

'TIL' 카테고리의 다른 글

TIL - CodeRabbit 적용  (0) 2026.03.30
TIL - Kafka vs Kafka를 사용하지 않는 구조 비교  (1) 2026.03.29
TIL - FeignClient 정리  (0) 2026.03.27
TIL - Keycloak 개념 정리  (0) 2026.03.26
TIL - Redis TTL  (0) 2026.03.25