반응형
Topic & Partition이란?
메세지는 토픽(Topic)으로 분류되고, 토픽(Topic)은 여러개의 파티션(Partition)으로 나눠 질 수 있다.
파티션(Partition) 내의 한 칸은 로그(Log)라고 불린다.
데이터는 한 칸의 로그에 순차적으로 append 되는데 메세지의 상대적인 위치를 나타내는게 offset이다. (0이 가장 먼저)
여러개의 파티션으로 누눠서 쓰는 이유는?
메세지는 카프카의 해당 토픽(topic)에 쓰여지는데 시간이 소비된다.
몇 천건의 메세지가 동시에 카프카에 쓰여진다고 생각해보자.
하나의 파티션(partition)에 순차적으로 append되면 처리하는게 좀 버거울 것이다.
그렇기 때문에 여러개의 파티션을 두어서 분산 저장을 하는 것이다.
그러면 병렬로 처리될테니 시간이 그만큼 절약 하게 된다.
하지만 한번 늘린 파티션은 절대로 줄일 수 없기 때문에 충분히 고민해봐야한다.
또한, 파티션을 늘렸을 때 메세지가 Round-robin방식으로 쓰여진다.
즉, 순차적으로 메세지가 쓰여지지 않기 때문에 메시지에 순서가 엄청 중요한 모델이라면 상당히 위험한 것이다.
반응형
'Apache Kafka' 카테고리의 다른 글
EC2 생성 후 접속, Kafka 설치 및 설정 (0) | 2021.09.24 |
---|---|
Kafka Producer & Consumer란? (0) | 2021.09.17 |
Kafka Broker & Zookeeper란? (0) | 2021.09.17 |
Kafka Record, Log & Segment 알아보기 (0) | 2021.09.17 |
Apache Kafka란? (0) | 2021.09.17 |