카테고리 없음

Kafka Lag 이란? 컨슈머 지연을 한눈에 이해하기

idea9329 2026. 2. 11. 14:22
728x90
반응형

 

1. Kafka Lag의 정의

Kafka Lag(카프카 랙) 이란
👉 프로듀서가 보낸 메시지(최신 오프셋) 
👉 컨슈머가 현재까지 읽은 메시지(현재 오프셋) 의 차이값을 말합니다.

즉,

Lag = Latest Offset - Consumer Offset

입니다.


2. 쉽게 설명하면

예를 들어,

  • 최신 오프셋: 10,000
  • 컨슈머가 읽은 오프셋: 9,200

이라면

👉 Lag = 800

즉, 아직 처리하지 못한 메시지가 800개 남아 있다는 의미입니다.


3. 왜 중요한가?

Kafka Lag은 시스템 처리 속도와 안정성을 판단하는 핵심 지표입니다.

Lag 상태의미위험도
0~소량 정상 낮음
점점 증가 컨슈머가 밀리고 있음 주의
급격히 증가 장애 가능성 높음

특히 실시간 서비스(결제, 알림, 로그 수집 등)에서는
Lag이 계속 쌓이면 지연 장애로 이어질 수 있습니다.


4. Lag이 발생하는 주요 원인

  1. 컨슈머 처리 속도 부족 (CPU/메모리 부족)
  2. 파티션 수 대비 컨슈머 수 부족
  3. 외부 API/DB 응답 지연
  4. 장애 후 재처리 상황
  5. GC Stop-the-world

5. 운영에서 어떻게 확인하나?

보통 다음과 같이 모니터링합니다:

  • kafka-consumer-groups.sh --describe
  • Prometheus + Grafana 대시보드
  • Burrow
  • CloudWatch (MSK 사용 시)

운영에서는 보통:

  • 파티션별 Lag
  • Consumer Group별 Lag
  • Lag 증가 속도 (Rate)

까지 함께 봅니다.


6. Lag이 쌓이면 어떻게 해야 하나?

✔ 컨슈머 인스턴스 증설
✔ 파티션 수 증가
✔ 병렬 처리 구조 개선
✔ Batch Size 조정
✔ DB/외부 의존성 튜닝


7. 실무 관점에서 한 줄 정리

Kafka Lag은 “아직 처리되지 않은 메시지의 대기열 크기”다.
Lag이 쌓이면 곧 지연 장애로 이어진다.

728x90
반응형