파티셔너

파티셔너

  • 프로듀서가 데이터를 보냄 -> 파티셔너가 이를 처리

    • 어떤 파티션에 데이터를 저장할 지 결정
  • 파티셔너 따로 설정하지 않는다면, UniformStickyPartioner 로 설정 (이 방식은 아래와 같이 동작)

    • 메시지 키가 있는 데이터에 대해서는 해쉬 값을 생성하여 파티션을 결정
      • 동일한 메시지 키(해쉬 값)은 동일한 파티션에 들어감
    • 메시지 키가 없는 레코드는 Round-Robin
      • 다만 전통적인 RR 과 조금 다르다. Batch 단위로 동작한다(?)
  • 사용자 지정 파티셔너도 사용 가능

    • CustomPartitional 인터페이스를 제공한다고 함

예시 #

파티셔너, 파티션 결정이 중요한 이유는 아래와 같은 예시로 사용 가능

  • 파티션 10개 중 8개 -> VIP를 위해 배정 : VIP에 대해서 조금 더 빠른 데이터 처리 기대