Kafka Partition과 Offset
- 각각의 파티션은 순서, 불변적으로 순서대로 저장이 된다.
- Produce가 Write할때마다 Partition Write하는 형식으로 데이터가 분산이 된다.
- 각각의 Partition은 replica로 복제가 되어 다른 Kafka Node에도 존재한다. (Replica)
- 연속적인 id (sequence id)를 offset이라고 한다.
- Consumer 입장에서는 각각의 Partition에 해당하는 offset의 데이터를 가지고 와서 소비를 한다.
- 하나의 Partition 당 하나의 Consumer가 소비를 하는 것이 제일 이상적인 모습이다.
- 데이터가 밀리거나 처리가 안되는 것을 확인하기 위해서는 lag을 확인을 하면 된다.
- Prdoucer가 Partition의 쓰는 Offset (current offset)가 Conumser가 소비하는 Offset (commited offset)의 차이가 실제 lag이다.
- 각각의 파티션은 다른 Consumer 그룹으로 소비할수 있다.
- Consumer Group의 이름으로 구별이 된다.
Reference
- https://kafka.apache.org/documentation/
'실시간 데이터 처리 > Kafka' 카테고리의 다른 글
Kafka Producer Partition Leader / Ack, Timeout (0) | 2018.07.31 |
---|---|
Kafka Offset Monitor (0) | 2018.06.29 |
Kafka Broker의 버전에 따른 Java Client 라이브러리 호환성 (0) | 2018.06.25 |
Kafka Topic / Message Consumer and Producer 명령어 (0) | 2018.05.20 |
Zero Copy (0) | 2017.07.04 |