카프카 (Kafka)

2022. 4. 29. 19:14AI/Big data

    목차
반응형

 

  • 역할
    • 분산 messaging platform
    • 여러 source(스토리지)와 분석 시스템(consumer)간 데이터 연결 pipeline 제공
    • topic  기준의 pub/sub 구조
  • 사용 이유
    • 확장성
      • 연결을 추상화 하고 직접적인 관계를 decoupling 하여 확장성 scaling 제공
      • consumer, broker, producer의 scaling
    • buffering
    • message collection hub
  • 설정 정보 유지
  • 분산 동기화

 

partition

하나의 topic은 하나 이상의 partition으로 구성

partition은 물리적 파일

노란박스 = broker

 

producer는 round robin 혹은 key의 hashing을 통해 partition을 선택하여 message를 저장

동일 key는 동일 partition에 저장

 

partition으로 쪼개는 이유

  • 하나의 consumer group은 하나의 partition에만 access 가능
  • 분산 처리 효율을 높이기 위해 partition으로 쪼갬
  • 하나의 broker의 처리 용량 초과 시 broker에 동일 topic에 대한 partition을 추가

 

topic은 여러 partition 으로 구성

 

 

replica

replication factor 만큼 partition은 복제되어 여러 broker에 존재

 

leader-follower

producer와 consumer는 leader를 통해서만 message를 처리

follower는 leader의 사본 유지

 

leader에 속한 broker에 장애 발생 시 follower가 leader가 됨

 

반응형

'AI > Big data' 카테고리의 다른 글

ETL, ELT  (0) 2022.04.29
Object storage  (0) 2022.04.29
빅데이터 에코 시스템  (0) 2022.04.29
isort  (0) 2022.04.22
python-poetry  (0) 2022.04.22