스택큐힙리스트

카프카 프로듀서 플러시와 폴링의 차이점 본문

카테고리 없음

카프카 프로듀서 플러시와 폴링의 차이점

스택큐힙리스트 2023. 2. 28. 18:03
반응형

카프카에서 poll과 flush는 Producer API에서 사용되는 메서드입니다.

  • poll
    • Producer Buffer에 저장된 데이터를 카프카 클러스터로 전송하기 위해 사용하는 메서드입니다.
    • Producer는 일정 시간마다 poll 메서드를 호출하여 버퍼에 저장된 데이터를 전송합니다.
    • poll 메서드를 호출하면, 데이터가 실제로 전송될 때까지 메서드가 블로킹되는 특징이 있습니다.
    • 장점: 여러개의 레코드를 한번에 처리할 수 있어서 높은 처리량을 제공합니다.
    • 단점: 메시지가 전송될 때까지 블로킹되기 때문에, 전송 속도가 느리거나 지연이 발생할 경우 프로듀서 성능이 저하될 수 있습니다.
  • flush
    • Producer Buffer에 저장된 데이터를 강제로 카프카 클러스터로 전송하기 위해 사용하는 메서드입니다.
    • flush 메서드를 호출하면, 현재 Producer Buffer에 저장된 데이터를 모두 전송합니다.
    • flush 메서드를 호출한 후에도, Producer Buffer에 데이터가 남아있을 경우, poll 메서드가 호출될 때까지 대기합니다.
    • 장점: 데이터가 빠르게 카프카 클러스터로 전송되기 때문에, 전송 속도가 빠르고 높은 처리량을 제공합니다.
    • 단점: flush 메서드를 호출할 때마다 모든 데이터를 전송하기 때문에, 호출 빈도가 높을수록 성능 저하의 우려가 있습니다.

따라서, poll과 flush 메서드는 각각 장단점이 있으며, 사용하는 상황에 따라 선택해야 합니다. 일반적으로는, 높은 처리량이 필요한 경우에는 poll 메서드를 사용하고, 빠른 전송 속도가 필요한 경우에는 flush 메서드를 사용하는 것이 좋습니다.

반응형
Comments