Stream 처리, 실시간 데이터 파이프라인 및 대규모 데이터 통합을 위한
오픈 소스 분산 이벤트 스트리밍 시스템
또는
오픈 소스 분산 Pub/Sub 메시징 플랫폼
이벤트 스트리밍
스트림
형태로 실시간 데이터 캡쳐하는 방식Pub/Sub 메시징 플랫폼 (MessageQueue)
데이터를 생성하는 애플리케이션과 (Producer)
데이터를 소비하는 애플리케이션간의 (Consumer)
중재자 역할
Kafka
로 인해 중앙 집중화Kafka
로
- Kafka Cluster
- Kafka Broker들의 모임.
- 확장성과 고가용성을 위한 클러스터링
- Apache Zookeeper가 관리
- 필수로 실행.
- 메타데이터 저장.
- Producer
- 메시지(이벤트)를 발행하여 생산(Write)하는 주체
- Consumer
- 메시지(이벤트)를 구독하여 소비(Read)하는 주체
- Broker
- 클러스터 내에 존재하는 서버
- Kafka 클라이언트와 데이터를 주고 받는 주체
- 데이터 분산 저장 및 복제
- 기본 3대 이상의 브로커 서버를 1개의 클러스터로 설정
- Topic
- 메시지를 구분하는 단위
- Partition
- 메시지를 저장하는 물리적인 파일
- Offset
- 지속적으로 증가하는 정수값을 가진 메타데이터
다른 시스템에서 지속적으로 데이터 가져오기/내보내기를 포함하여
이벤트 스트림을 게시(쓰기)하고 구독(읽기)합니다.
원하는 시간 동안 이벤트 스트림을 지속적이고 안정적으로 저장합니다.
이벤트 스트림이 발생할 때 또는 후향적으로 처리합니다.