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이 발생하는 주요 원인
- 컨슈머 처리 속도 부족 (CPU/메모리 부족)
- 파티션 수 대비 컨슈머 수 부족
- 외부 API/DB 응답 지연
- 장애 후 재처리 상황
- 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
반응형

