Apach Kafka 란
- 실시간으로 기록 스트림을 게시, 구독, 저장 및 처리할 수 있는 분산형 데이터 스트리밍 플랫폼
- 장점 1 : 복제기능으로 서버 이슈에도 데이터 손실없이 복구가능
- 장점 2 : 처리량이 높아 빅데이터 처리에 유용 (broker, partition)
용어 설명
producer : 데이터를 카프카에 보내는 역할
- 대용량의 클릭 로그를 실시간으로 카프카 topic에 생성 (저장)
- broker로 데이터 전송 할 때 전송 성공 여부 알 수 있음
consumer : 토픽 내 파티션에 저장된 데이터를 가져가는 역할 (=polling)
- partition offset 위치 기록 : 중단 및 손실되어도 기록된 위치 이후로 작업하면 됨
- consumer group을 통해 병렬 처리
- consumer group내 consumer의 수는 partition 개수보다 적거나 같아야 함 (더이상 할당될 파티션-컨슈머 조합이 없으므로)
- 서로 다른 consumer 그룹이 동일한 토픽의 데이터를 가져갈 수 있음 (컨슈머 그룹 : elastic, hadoop 등)
topic : 데이터 목적에 따라 분류. DB 테이블, 폴더 ex. click_log, tx_log
partition : 토픽 내 구성요소
- 오래된 순서로 target에 전달 (target에 전달되더라도 삭제되지 않음)
- 여러 개가 존재 할 수 있는데 이를 replication 이라 함 (consumer를 늘려 분산 처리 가능하여, 손실위험 감소)
- partition 1 -> learder partition
- replication 3 -> follower partition
- 즉, 원본 1 복제본 2 -> ISR
broker : 카프카가 설치되어 있는 서버 단위로, 브로커 개수에 따라 replication 개수가 제한 됨 (보통 3개)
partitioner : producer에서 어느 파티션으로 갈지 정하는 애 (메시지 키,값에 따라)
- Y : hash 따라서, N : round-robin (알아서 적절히), custom (vip : partition 8, normal : partition 2)
lag : producer가 마지막에 넣은 offset(위치)과 consumer가 마지막에 넣은 offset간 차이. lag는 여러 개 일 수 있음
- producer와 consumer 상태 파악용
burrow : lag 모니터링 솔루션
kafka streams : 실시간 데이터를 빠르게 처리 할 수 있는 프레임워크 (consumer를 통해 데이터를 처리하는 것보다 안전하고 빠름)
kafka connet : 반복적인 데이터 파이프라인을 효율적으로 배포하고 관리하는 공식 컴포넌트 (굳이 컨슈머로 여러 개 만들기 보다 커넥트 구축 권장)
- 커넥트 (커넥터가 동작하도록)
- 단일모드 커넥트
- 분산모드 커넥트 : 여러 개의 커넥트를 하나의 클러스터로 묶음
- 커넥터 (데이터를 처리하도록)
- 싱크 커넥터 : 컨슈머 역할
- 소스 커넥터 : 프로듀서 역할
Reference
https://blog.voidmainvoid.net/179
빅 데이터 처리를 위한 아파치 Kafka 개요 및 설명
Apache Kafka LinkedIn에서 최초로 만들고 opensource화 한 확장성이 뛰어난 분산 메시지 큐(FIFO : First In First Out) → 분산 아키텍쳐 구성, Fault-tolerance한 architecture(with zookeeper), 데이터 유실 방지를 위한 구
blog.voidmainvoid.net
'그녀의 일' 카테고리의 다른 글
기초 통계 용어 정리 | 귀무가설, 대립가설, 유의수준, p-value (0) | 2023.04.07 |
---|---|
Swtichback test란? (0) | 2023.03.23 |
머신러닝 프로세스 한 번에 처리하기 | Pipeline, make_pipeline (0) | 2023.03.09 |
모델의 최적의 하이퍼 파라미터 찾기 | Hyperparameter tuning - GridSearchCV, RandomizedSearchCV (0) | 2023.03.09 |
주피터 노트북 파일 및 폴더 한 번에 다운로드하기 | tar 압축하기, 압축 해제하기 (0) | 2023.03.06 |