Kafka

[개념정리] Kafka 전체구조

공부 기록장 2025. 2. 6. 20:01

Kafka는 대규모 데이터 스트리밍을 처리하기 위한 오픈소스 분산 메시징 시스템이며 

주요 용도로는 실시간 데이터 스트리밍, 로그 집계, 데이터 파이프라인에 사용된다.

 

 

Kafka를 쉽게 설명하면 우편 서비스에 비유할 수 있다.

편지를 보내는 사람은 Producer 이고 받는 사람은 Consumer,

우체국은 Broker 이고 편지는 message 이다.

 

 

 

▶ 주요 용어 

 

Topic : kafka는 Topic 이라는 곳에 데이터를 저장한다.(이메일 주소에 비유할 수 있다.)

 

Partition : Topic을 분할하여 데이터를 저장하는 단위

 

Producer :  kafka 에 메시지를 넣는 역할

 

Kafka :  메시지를 저장하는 역할

 

Consumer : Kafka로부터 메시지를 읽어오는 역할

 

Consumer Group : 여러 Consumer 가 하나의 Group을 이루어 특정 Topic을 병렬로 소비한다.

 

Broker :  Producer와 Consumer 간의 메시지를 송수신을 담당한다. (임의의 서버)

 

Offset : Kafka에서 각 메시지가 저장된 위치를 나타내는 값(배열의 인덱스라고 보면 된다.)

 

Replication : 데이터의 가용성과 내구성을 보장하기 위해 Partition 데이터를 복제

 

Zookeeper : Kafka Cluster를 관리하고 조율하는 역할을 하는 시스템