컨슈머 랙(Consumer Lag)

컨슈머 랙은 카프카를 운영하는 데 있어 가장 중요한 모니터링 지표중 하나

카프카 프로듀서는 토픽의 파티션에 데이터를 차곡차곡 넣는데, 이 파티션에 데이터가 하나하나씩 들어가게 되면 각 데이터는 오프셋이라고 하는 숫자가 붙게 됨

오프셋은 0부터 시작해 이전에 전송된 레코드의 오프셋 +1을 값으로 갖음

프로듀서는 계속해서 데이터를 넣고 컨슈머는 계속해서 데이터를 가져오는데, 프로듀서가 데이터를 넣어주는 속도가 컨슈머가 가져가는 속도보다 빠르면 프로듀서가 마지막으로 읽은 오프셋과 컨슈머가 마지막으로 읽은 오프셋 간에 차이가 발생 함. 이 차이를 Consumer Lag라고 함

Untitled

이 Lag 숫자를 통해 현재 해당 토픽에 대해 파이프라인으로 연계되어 있는 프로듀서와 컨슈머의 상태에 대해 유추 가능하며, 주로 컨슈머의 상태를 확인할 때 사용

Lag은 각 파티션의 오프셋기준으로 프로듀서가 넣은 데이터의 오프셋과 컨슈머가 가져가는 데이터의 오프셋의 차이를 기반으로 함

토픽에 여러 파티션이 존재할 경우 Lag은 여러개가 존재할 수 있음

한 개의 토픽과 컨슈머 그룹에 대한 lag이 여러개 존재할 수 있을 때, 그 중 높은 숫자의 Lag을 records-lag-max라고 부름

Untitled


참고 강의 : https://www.inflearn.com/course/아파치-카프카-입문/dashboard