카프카 컨슈머 랙

Subin Park·2023년 5월 14일
0

Kafka

목록 보기
4/4

컨슈머 랙(Consumer Lag)이란?

  • 토픽의 최신 오프셋(LOG-END-OFFSET)과 컨슈머 오프셋(CURRENT-OFFSET)의 차이를 뜻함
  • 컨슈머 랙은 컨슈머 그룹과 토픽(파티션)별로 생성됨
  • 프로듀서는 계속해서 새로운 데이터를 파티션에 저장하고 컨슈머는 자신이 처리할 수 있는 만큼의 데이터를 소비를 하게 됨
  • 이러한 과정에서 컨슈머가 프로듀서의 데이터 저장 속도를 따라가지 못하고 컨슈머의 Current-Offset과 차이가 발생하게 되는 경우가 컨슈머 랙은 늘어나게 됨
  • 반대로 프로듀서가 보내는 데이터량이 컨슈머의 데이터 처리량보다 적으면 컨슈머 랙은 줄어들어 최솟값이 0인 지연이 없는 상태가 됨

복수 파티션의 경우

  • 위 이미지와 같이 1개의 컨슈머, 1개의 토픽, 3개의 파티션으로 구성되어 있는 경우 컨슈머 그룹에 대한 랙은 총 3개가 존재하게 됨
  • 컨슈머 그룹에 속한 랙이 여러개 존재할 때 가장 높은 숫자의 랙을 RECORDS-LAG-MAX 라고 부른다

컨슈머 랙 모니터링

  • 컨슈머 랙을 통해 컨슈머의 상태에 대해 유추할 수 있음
  • 컨슈머 랙 모니터링 함으로써 경우에 따라 컨슈머의 개수를 파티션 만큼 늘려 병렬처리량을 늘려 랙을 줄이거나 컨슈머의 상태이상을 확인할 수 있다

0개의 댓글