logo
logo
네이버 스케일로 카프카 컨슈머 사용하기
코드너리  |  2023. 03. 18
데이터 인프라
사용된 기술:
kafka-image

개요:

카프카 컨슈머는 많은 경우 잘 동작하는 물건이지만, 쿠버네티스 환경에서 사용하는 것이 그리 쉽지만은 않습니다. 이 세션에서는 카프카 컨슈머를 쿠버네티스 환경에서 사용할 때 주의할 점과 네이버가 어떻게 이 문제를 해결했는지를 살펴봅니다.

목차

1. 카프카 컨슈머: 내부 동작

  • 카프카 컨슈머 간략 소개
  • 컨슈머 그룹
  • 파티션 할당
  • 오프셋 커밋
  • 파티션 할당 자세히 살펴보기
  • 그룹 코디네이터 + 컨슈머 그룹 리더
  • 동작 순서: '성급한 할당'
  • 할당 알고리즘
    • Range Partitioner
    • Round Robin Partitioner
  • 한계: 클라우드 환경을 감안하지 않고 개발됨

2. 클라우드 환경에서 카프카 컨슈머 사용하기

  • 클라우드 환경에서 발생하는 문제 해결하기
  • session.timeout.ms 설정
  • group.instance.id 설정
  • rack.id 설정
  • partition.assignment.strategy 설정
    • 성급한 할당
    • 점진적, 협력적 할당
    • 설정 변경 + 무중단 업그레이드하기
  • 한계
  • 네이버의 클라우드 환경

3. Navercorp Partition Assignor

  • 발상
  • group.instance.id 자동 인식
  • rack.id 자동 인식
  • 협력적 할당
  • 성능
Copyright © 2025. Codenary All Rights Reserved.