[Kafka] Consumer Poll

Consumer Poll

KafkaConsumer의 Poll method는 topic으로부터 데이터를 가져오는 역할을 수행한다


poll(long)

poll의 parameter는 long 이였다가 Kafka client 2.0부터 deprecated 되었다
poll(long)은 다음과 같이 동작한다

  1. 브로커에서 long시간동안 데이터를 가지고 온다
  2. 만약 가지고올 데이터가 존재하지 않는다면 지속적으로 기다린다

이 상황에서 다음과 같은 문제가 발생한다

  1. 컨슈머는 브로커에서 가지고 올 데이터가 존재하지 않아 지속적으로 기다리는 중이다
  2. 브로커에 이슈가 생겨 브로커가 죽는다
  3. 컨슈머는 무기한으로 기다린다


poll(duration)

poll의 parameter는 Duration으로 변경되었다
poll(Duration)은 다음과 같이 동작한다

  1. 브로커에서 long시간동안 데이터를 가지고 온다
  2. 만약 가지고올 데이터가 존재하지 않는다면 empty collection을 리턴한다
Author: Song Hayoung
Link: https://songhayoung.github.io/2020/07/05/kafka/consumer_poll/
Copyright Notice: All articles in this blog are licensed under CC BY-NC-SA 4.0 unless stating additionally.