Consumer Poll
KafkaConsumer의 Poll method는 topic으로부터 데이터를 가져오는 역할을 수행한다
poll(long)
poll의 parameter는 long 이였다가 Kafka client 2.0부터 deprecated 되었다
poll(long)은 다음과 같이 동작한다
- 브로커에서 long시간동안 데이터를 가지고 온다
- 만약 가지고올 데이터가 존재하지 않는다면 지속적으로 기다린다
이 상황에서 다음과 같은 문제가 발생한다
- 컨슈머는 브로커에서 가지고 올 데이터가 존재하지 않아 지속적으로 기다리는 중이다
- 브로커에 이슈가 생겨 브로커가 죽는다
- 컨슈머는 무기한으로 기다린다
poll(duration)
poll의 parameter는 Duration으로 변경되었다
poll(Duration)은 다음과 같이 동작한다
- 브로커에서 long시간동안 데이터를 가지고 온다
- 만약 가지고올 데이터가 존재하지 않는다면 empty collection을 리턴한다