카프카 (Kafka)
2022. 4. 29. 19:14ㆍAI/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 |