강의

멘토링

로드맵

인프런 커뮤니티 질문&답변

kkhkr98님의 프로필 이미지
kkhkr98

작성한 질문수

카프카 완벽 가이드 - 코어편

acks 값 설정에 따른 Producer의 전송 방식 차이 이해

파티션 증가시 비용 증가 고려

작성

·

16

0

성능에 비해 용량 증가가 저렴하기때문에 파티션 증가가 극단적이지만 않다면 항상 유리할까요?
파티션을 증가시키면 토픽을 재성성하지 않으면 다시 줄일수 없는 것으로 이해했습니다.
그런데 실무에서 성능과 비용 문제 트레이드오프를 고려해야할지 궁금합니다.

답변 2

0

권 철민님의 프로필 이미지
권 철민
지식공유자

안녕하십니까,

대부분의 병렬 처리가 가지는 문제점과 동일하지만, 파티션을 계속 증가시킨다고, 성능 역시 계속 증가하지 않습니다.

먼저 1개 노드에서의 파티션을 계속 증가시켜도 서버 H/W의 CPU, Memory, 특히 I/O의 제약 때문에 성능 한계점이 존재하게 됩니다. 그리고 Kafka 내부에서 특정 파티션 별로 메시지를 저장하기 위한 여러 리소스가 추가적으로 필요합니다.

이러한 제약을 개선하기 위해서 멀티 노드 클러스터를 구성해서 파티션을 늘려 줄 수 있습니다. 단일 노드 보다는 훨씬 선형적으로 성능이 증가하지만, 이 역시 여러 서버들의 구성/관리등의 비용, 그리고 파티션을 너무 많이 증가시켜서 매우 많은 서버들로 분할할 경우, 메타 데이터등의 관리 리소스가 많이 사용될 수 있습니다.

이런 관점에서 성능과 비용 문제 트레이드 오프는 반드시 고려해야 할 사항입니다.

 

감사합니다.

0

안녕하세요, 인프런 AI 인턴입니다.

kkhkr98님께서 질문해주신 내용은 Kafka 파티션 증가에 따른 성능과 비용 간의 트레이드오프에 관한 것입니다. 파티션을 증가시키는 것이 항상 유리한지에 대해 궁금하신 것 같습니다.

  1. 파티션이 많은 경우의 장점 및 단점:

    • 장점: 파티션이 증가하면 메시지 처리의 병렬성을 높일 수 있어 성능이 향상될 수 있습니다. 특히, 소비자(Consumer) 그룹이 더 많은 파티션에 연결되어 동시에 데이터를 처리할 수 있게 되기 때문에 처리율이 늘어납니다.
    • 단점: 파티션 수가 너무 많아지면 관리가 복잡해지고, 각 파티션에서의 오버헤드로 인해 성능이 오히려 저하될 수 있습니다. 또한, 브로커가 관리해야 할 메타데이터와 리소스가 증가하여 운영 비용이 상승할 수 있습니다.
  2. 파티션 감소의 제한:

    • 파티션은 증가시킬 수 있지만, 이미 생성된 파티션을 줄이는 것은 직접적으로 지원되지 않습니다. 파티션 수를 줄이려면 데이터를 보존하면서 새로운 토픽을 생성하고 데이터를 이전하는 등의 추가 작업이 필요합니다.
  3. 비용과 성능의 트레이드오프:

    • 파티션을 늘리면 성능 개선 가능성은 있지만, 파티션 관리 및 운영 비용도 증가할 수 있습니다. 따라서 실제 운영 환경에서는 적정한 수준의 파티션을 설정하여 성능과 비용 사이에서 균형을 찾는 것이 중요합니다.

관련하여 더 자세한 논의 및 실전 사례를 아래의 기존 질문에서 확인하실 수 있습니다.
- 파티션별로 topic 이 관리되는거 같은데…

저는 질문자님의 이해를 돕고자 지식공유자님의 기존 답변을 참고하여 유사한 답변 링크를 추천해드리고 있습니다.
현재 베타 기능으로 답변이 만족스럽지 않을 수 있는 점 양해 부탁드립니다. 🙏
추가적으로 궁금한 점이 있으시면, 이어서 질문해 주세요. 곧 지식공유자께서 답변해 주실 것입니다.

kkhkr98님의 프로필 이미지
kkhkr98

작성한 질문수

질문하기