실시간 데이터 처리/Kafka

Kafka Partition과 Offset

BUST 2018. 6. 11. 22:42

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/