Messaging System/Kafka

Kafka 관련 용어 정리

희쨔응 2022. 9. 22. 12:07

Kafka Broker (Bootstrap Server)

Kafka Broker는 Partition에 대한 Read 및 Write를 관리하는 소프트웨어

Kafka Server라고 부르기도 함

Topic 내의 Partition 들을 분산, 유지 및 관리

각각의 Broker들은 ID로 식별됨 (단, ID는 숫자)

최소 3대 이상의 Broker를 하나의 Cluster로 구성해야 함 (4대 이상을 권장함)

 

Zookeeper

Broker를 관리 (Broker 들의 목록/설정을 관리)하는 소프트웨어

Zookeeper는 홀수의 서버로 작동하게 설계되어 있음 (최소 3, 권장 5)

Zookeeper에는 Leader(writes)가 있고 나머지 서버는 Follower(reads)

 

Topic 

Kafka 안에서 메시지가 저장되는 장소, 논리적인 표현

 

 

 

Producer

메시지를 생산(Produce)해서 Kafka의 Topic으로 메시지를
보내는 애플리케이션

 

Consumer

Topic의 메시지를 가져와서 소비(Consume)하는
애플리케이션

 

Consumer Group

Topic의 메시지를 사용하기 위해 협력하는
Consumer들의 집합

 

하나의 Consumer는 하나의 Consumer Group에 포함되며,
Consumer Group내의 Consumer들은 협력하여 Topic의 메시지를
분산 병렬 처리함

 

Partition

하나의 Topic은 하나 이상의 Partition으로 구성
병렬처리(Throughput 향상)를 위해서 다수의 Partition 사용

 

Segment

메시지(데이터)가 저장되는 실제 물리 File
Segment File이 지정된 크기보다 크거나 지정된 기간보다 오래되면 새 파일이 열리고 메시지는 새 파일에 추가됨

 

Commit Log

추가만 가능하고 변경 불가능한 데이터 스트럭처
데이터(Event)는 항상 로그 끝에 추가되고 변경되지 않음

 

Offset

Commit Log 에서 Event의 위치