상세 컨텐츠

본문 제목

[kafka] consumer와 partition 의 이상적인 비율

IT/프로그래밍

by James Lee. 2020. 3. 31. 18:30

본문

kafka 에서 consumer group 의 consumer 의 개수는 partition의 개수와 되도록 일치시키는 것이 효율적이다. 

 

 

 

partition은 동일 consumer group에 대해서는 1:1의 관계를 가진다. 반대로 consumer group의 consumer는 partion과 1:N의 관계를 가질 수 있다.

 

partition이 consumer 보다 많다면, 하나의 consumer가 여러 개의 partition을 처리해야 하기 때문에 지연(lag)이 생길 수 있다.

 

 

 

또한 consumer의 수가 partition의 수보다 많다면, 놀고 있는 consumer가 생기기 때문에 비용을 낭비하게 된다.

 

 

 

※ 참고로 파티션의 수는 늘릴 수는 있지만 줄일 수는 없다. 따라서 무작정 파티션과 컨슈머의 수를 많이 늘리기 보다는 테스트를 통해서 지연이 발생하지 않는 최적의 파티션 수와 컨슈머 수를 찾아내는 것이 중요하다. 

 

이미지 출처 : https://devtimes.com/bigdata/2019/01/18/what-is-kafka/

 

 

참고 자료

Kafka: The Definitive Guide

Chapter 4. Kafka Consumers: Reading Data from Kafka Applications that need to read data from Kafka use a KafkaConsumer to subscribe to Kafka topics and receive messages from these topics. … - Selection from Kafka: The Definitive Guide [Book]

www.oreilly.com

 

카프카(Kafka)의 이해

개발자 노트

devtimes.com

 

관련글 더보기

댓글 영역