partitioning
-
12 days of Apache Kafka - 3. PartitioningKafka 2021. 1. 17. 10:07
www.youtube.com/watch?v=y9BStKvVzSs 하나의 토픽이 하나의 노드에만 있다면? 확장성 측면에서 문제가 많을 것이다. 노드의 크기만큼만 저장할 수 있게 된다. 경제적인 면으로도 처음부터 엄청 큰 노드를 쓰고 싶지도 않을 것이다. 한 토픽에만 데이터가 몰리고, 읽기와 쓰기가 많다면 하나의 노드에만 엄청난 부하가 몰릴 것이다. Partitioning 위와 같은 상황이 일어나지 않게 카프카는 Partition 을 제공한다. Partition 은 하나의 토픽(로그) 를 여러 개로 쪼개어 카프카 클러스터의 각각 노드에 저장할 수 있게 한다. 또한 어떤 노드에 저장할 지도 결정해준다. key 가 존재하지 않는 message 라면, round robin 방식으로 저장된다. key 가 존재한다면..