Kafka 란?
- 오픈소스 분산 이벤트 스트리밍 플랫폼
- 이벤트 전송로인 '파이프라인'을 관리하여 스토리지 간 연결을 통합, 관리하는 플랫폼
- 여러 데이터들을 분산 관리해주는 플랫폼
- pub-sub 모델, 즉! 발행자와 구독자의 관계로 이뤄진다.
- 발행자 -> 구독자 (X)
- 발행자 -> Kafka -> 구독자 (O)
- 발행자와 구독자가 바로 이어진 구조가 아니라 발행자가 Kafka 의 관심사에 정보를 올려두면, 이 관심사를 구독하고 있는 구독자가 해당 정보를 가져오는 방식
Event
- Kafka 에서는 어떤 사건이 발생했을 때, 이 사건 자체를 Event 라고 한다.
Kafka 에서 스트리밍은?
-
스트리밍은 데이터를 쪼개어 순차적으로 받아오는 기법
따라서 이벤트 스트리밍은 이벤트를 스트림 형태(데이터를 쪼개 순차적으로 받아오는 기법)로 가져오는 것이다.
-
Kafka는 스트림 형태로 받아온 이벤트를 실시간으로 저장하고, 저장되는 정보들이 적절한 목적지로 제공될 수 있게 해준다.
Kafka 간단 용어 정리
Producer
Consumer
Broker
- Producer, Consumer 사이에서 데이터를 전달하는 역할을 가진 서비스
topic
Partition
Zookeeper
- 분산 처리를 위한 관리 도구로, topic, partition 과 같은 브로커에서 관리하는 메타 정보 저장 및 관리
Kafka-Client
예시
[Producer] 이스타 tv
-> [Broker] Youtube
-> [topic] 이스타 tv 채널
-> [Event] 영상 업로드 (대한민국 축구) now!
-> [Consumer] 구독자에게 영상 업로드 알람!