Search
〰️

Kafka가 Data Pipeline으로 적합한 이유

빅데이터 파이프라인에 적합한 카프카의 특징

높은 처리량

Producer, Consumer 모두 데이터를 묶어서 전송
많은 양의 데이터를 송수신할 때 맺어지는 네트워크 통신은 큰 비용 → 카프카를 통해 비용 절약 가능
동일한 양의 데이터를 최소한의 통신 횟수로 보낼 수 있다.
동일 시간 내 더 많은 데이터를 전송할 수 있다.
많은 양의 데이터를 묶음 단위로 처리하는 배치로 빠르게 처리할 수 있기 때문에 대용량의 실시간 로그 데이터를 처리하는데 적합
파티션 단위를 통해 동일 목적의 데이터를 여러 파티션에 분배하고 데이터 병렬처리가 가능
파티션 개수만큼 컨슈머 갯수를 늘려 동일 시간당 데이터 처리량을 늘림 → Linear
Partition #1 → Consumer #1
Partition #2 → Consumer #2

확장성

데이터 량이 가변적인 환경에서도 안정적인 확장 가능
Broker 갯수를 Scale-out/Scale-in하여 데이터 처리량을 조절 가능
Scale-out/Scale-in은 Cluster의 무중단 운영을 지원하므로 365일 24시간 데이터를 처리해야하는 비즈니스 모델에서도 안정적인 운영 가능

영속성

데이터를 생성한 프로그램이 종료되더라도 사라지지 않는 데이터의 특성
데이터를 파일 시스템에 저장
페이지 캐시 메모리 영역을 메모리에 별도 생성하여 사용
높은 처리량

고가용성

3개 이상의 서버들로 운영
일부 서버에 장애가 발생하더라도 무중단으로 안전하고 지속적으로 데이터 처리 가능
Cluster로 이루어진 카프카는 데이터의 복제를 통해 고가용성의 특징을 가짐
프로듀서로 전송받은 데이터를 여러 브로커 중 하나의 브로커에저장하는 것이 아닌 또 다른 브로커에도 저장
한 브로커에 장애가 발생하더라도 복제된 데이터가 나머지 브로커에 저장되어 있으므로 저장된 데이터를 기준으로 지속적으로 데이터 처리 가능