전체 그래프
Kafka

Kafka

data-engineeringtool/kafkamessage-brokerstreaming

상위: Data Engineering

개요

Apache Kafka는 대용량 실시간 데이터 스트리밍을 위한 분산 메시지 브로커 플랫폼입니다. 높은 처리량(High Throughput)과 낮은 지연시간(Low Latency)을 제공하며, 확장성과 내결함성을 갖춘 이벤트 스트리밍 플랫폼입니다.

핵심 개념

기본 구조

Producer & Consumer

예정 (미작성)

  • 클러스터 관리: Kafka Cluster, Zookeeper, Controller, Replication
  • 성능: Partitioning Strategy, Compression, Batching
  • 운영: Monitoring, Performance Metrics

주요 특징

  • 높은 처리량: 초당 수백만 건의 메시지 처리 가능
  • 확장성: 수평적 확장(Scale-out)을 통한 클러스터 구성
  • 내결함성: 데이터 복제(Replication)를 통한 안정성 보장
  • 영속성: 디스크 기반 저장으로 데이터 유실 방지
  • 실시간 처리: 낮은 지연시간으로 실시간 데이터 스트리밍

Kafka vs 다른 도구

Kafka vs Flink

  • Kafka: 메시지 브로커, 데이터 저장 및 전달에 특화
  • Flink: 스트림 처리 엔진, 실시간 데이터 변환 및 분석에 특화
  • 통합: Kafka를 데이터 소스로, Flink를 처리 엔진으로 함께 사용

Kafka vs Spark Streaming

  • Kafka: 이벤트 단위 실시간 스트리밍
  • Spark Streaming: 마이크로 배치 기반 준실시간 처리
  • 통합: Kafka를 데이터 파이프라인으로, Spark를 배치 처리로 사용

관련 도구

  • Flink: 실시간 스트림 처리
  • Spark: 배치 및 스트리밍 처리
  • Airflow: 워크플로우 오케스트레이션