[KAFKA] 컨슈머 애플리케이션 개발 - 리밸랜스 리스너

.·2024년 10월 13일

KAFKA

목록 보기
21/21

리밸랜스가 자주 발생하면 안되긴 하지만, 리밸랜스가 발생할 경우 리스너를 통해 대응 로직을 짤 수 있다.
카프카 라이브러리는 리밸랜스 발생을 감지하기 위해 ConsumerRebalanceListener 인터페이스를 지원한다.
ConsumerRebalanceListener 인터페이스로 구현된 클래스는 onPartitionAssigned(), onPartitionRevoked() 메소드로 이루어져 있다.

ConsumerRebalanceListener 인터페이스의 메소드

  • onPartitionAssigned(): 리밸런스가 끝낸 뒤에 파티션이 할당 완료되면 호출되는 메소드
  • onPartitionRevoked(): 리밸런스가 시작되기 직전 호출되는 메소드. 마지막으로 처리한 레코드를 기준으로 커밋을 하기 위해 리밸런스가 시작하기 직전에 커밋을 하면 되므로 onPartitionRevoked() 메소드에 커밋을 구현하여 처리할 수 있다.

리밸런싱 참고 포스팅
https://velog.io/@namyj97/KAFKA-%EC%BB%A8%EC%8A%88%EB%A8%B8-%EC%95%A0%ED%94%8C%EB%A6%AC%EC%BC%80%EC%9D%B4%EC%85%98

1. 컨슈머 개발

2. 결과 확인

0개의 댓글