728x90
반응형
Kafka Broker
- Kafka Broker는 Partition에 대한 Read 및 Write를 관리하는 소프트웨어
- Kafka Server라고 부르기도 하며, Topic내의 Partition들을 분산, 유지 및 관리
- 각각의 Broker들은 ID로 식별됨 (단 ID는 숫자)
- Topic의 일부 Partition들을 포함 -> Topic 데이터의 일부분(Partition)을 갖을 뿐 데이터 전체를 갖고 있지 않음
- Kafka Cluster: 여러 개의 Broker들로 구성되며, Client는 특정 Broker에 연결하면 전체 클러스터에 연결됨
- 최소 3대 이상의 Broker를 하나의 Cluster로 구성해야하지만 4대 이상을 권장한다고 함
✔️ Kafka Broker ID와 Partition ID의 관계 그리고 Bootstrap Servers
- Broker ID와 Partition ID 간에는 아무런 관계가 없음
- Topic을 구성하는 Partition들은 여러 Broker에 분산됨
- Topic 생성시 kafka가 자동으로 Topic을 구성하는 전체 Partition들을 모든 Broker에게 할당해주고 분배해 줌
- 모든 Kafka Broker는 Bootstrap 서버라고 부름
- 하나의 Broker에만 연결하면 Cluster 전체에 연결됨 -> 하지만, 특정 Broker 장애를 대비하여, 전체 Broker List(IP, port)를 파라미터로 입력하는 것을 권장한다고 함
- 각각의 Broker는 모든 Broker, Topic, Partition에 대해 알고 있음(Metadata)
Zookeper
- Zookeeper는 Broker를 관리 (Broker 들의 목록/설정을 관리)하는 소프트웨어
- Zookeeper 없이는 Kafka가 작동할 수 없으며, Zookeeper는 홀수의 서버로 작동하게 설계되어 있음(최소3, 권장5)
- Zookeeper에는 Leader(writes)가 있고 나머지 서버는 Follower(reads)
- Zookeeper는 분산형 Configuration 정보 유지, 분산 동기화 서비스를 제공하고 대용량 분산 시스템을 위한 네이밍 레지스트리를 제공하는 소프트웨어
- 분산 작업을 제어하기 위한 Tree 형태의 데이터 저장소 👉🏻 Zookeeper를 사용하여 멀티 Kafka Broker들 간의 정보(변경 사항 포함) 공유, 동기화 등을 수행
Message
메시지 Message
- 메시지는 Kafka를 통해 전달되는 데이터 단위.
- 메시지는 키(key), 값(value), 타임스탬프(timestamp), 그리고 몇 가지 메타데이터로 구성.
키 Key
- 키는 메시지를 특정 파티션에 할당하는 데 사용되는 값.
- 동일한 키를 가진 메시지는 항상 동일한 파티션에 저장.
🔗 참고 포스팅
https://velog.io/@kidae92/Apache-Kafka-%EC%A3%BC%EC%9A%94-%EC%9A%94%EC%86%8C2
728x90
반응형
'DevOps' 카테고리의 다른 글
Docker로 Cassandra 띄우기 및 실습하기 (1) | 2024.10.04 |
---|---|
[✉️ Kafka] Kafka 설치 및 예제로 실습해보기 (2) | 2024.09.27 |
[✉️ Kafka] Kafka 이해하기1 - Producer, Consumer, Topic, Partition (0) | 2024.09.27 |
Docker로 pgAdmin 띄워서 PostgreSQL 손쉽게 활용하기 (1) | 2024.09.25 |
Redis와 NoSQL, Redis의 데이터 타입 이해하기 (0) | 2024.08.21 |