IT이야기

Kafka Consumer Lag 해결 방법 — 실무 최적화 가이드

딜레이라마 2026. 4. 28. 09:01
반응형

1️⃣ Kafka Consumer Lag이란?

Apache Kafka 에서 Consumer Lag은

👉 Producer가 보낸 데이터와 Consumer가 처리한 데이터의 차이를 의미합니다.


쉽게 설명하면

Producer → 데이터 생성
Consumer → 데이터 처리
 

👉 Consumer가 따라가지 못하면 Lag 발생


2️⃣ Kafka Lag이 발생하는 이유

실무에서 가장 흔한 원인은 다음과 같습니다.


✔ 1. Consumer 처리 속도 부족

  • 데이터 처리 로직이 느림
  • 외부 API 호출 지연
  • DB 쓰기 속도 문제

✔ 2. Partition 수 부족

Kafka는 Partition 기반으로 병렬 처리합니다.

👉 Partition이 적으면 처리 속도가 제한됩니다.


✔ 3. Consumer 수 부족

Consumer 수가 적으면 처리량이 제한됩니다.


✔ 4. GC / 리소스 문제

  • JVM GC
  • CPU 부족
  • 메모리 부족

✔ 5. 네트워크 지연

Kafka 클러스터와 Consumer 간 네트워크 문제


3️⃣ Kafka Lag 확인 방법

Lag은 다음과 같은 방법으로 확인할 수 있습니다.


✔ Kafka CLI

 
kafka-consumer-groups.sh --describe
 

✔ 모니터링 도구

  • Prometheus
  • Grafana

👉 Lag을 시각적으로 확인 가능


4️⃣ Kafka Lag 해결 방법

실무에서 가장 중요한 부분입니다. 🚀


① Consumer 성능 개선

  • 처리 로직 최적화
  • 비동기 처리 적용
  • 배치 처리 도입

② Partition 증가

Partition ↑ → 병렬 처리 ↑ → 처리 속도 ↑
 

👉 가장 효과적인 방법 중 하나


③ Consumer 수 증가

  • Consumer Group 확장
  • 병렬 처리 강화

④ 처리 구조 개선

예시

  • DB Write → Batch 처리
  • API 호출 → 비동기 처리

⑤ 하드웨어 리소스 확장

  • CPU 증가
  • 메모리 확장
  • 네트워크 개선

5️⃣ 실무에서 많이 쓰는 해결 전략

실무에서는 보통 이렇게 해결합니다.


✔ 전략 1: Partition + Consumer 확장

👉 가장 빠른 해결 방법


✔ 전략 2: 처리 로직 개선

👉 근본적인 해결


✔ 전략 3: Batch 처리 도입

👉 DB 부하 감소


✔ 전략 4: 비동기 구조 적용

👉 처리 속도 극대화


6️⃣ Kafka Lag 예방 방법

문제 발생 전에 예방하는 것도 중요합니다.


✔ 충분한 Partition 설계
✔ Consumer 성능 테스트
✔ 모니터링 시스템 구축
✔ Auto Scaling 적용


📌 결론

Kafka Consumer Lag은 단순한 문제가 아니라
👉 시스템 구조 문제일 가능성이 높습니다.

따라서 단순 튜닝이 아니라

아키텍처 관점에서 접근하는 것이 중요합니다.

반응형