목록 보기
Kafka Streams를 k8s로 옮기며 얻은 스케일링 설계: 비용 80% 절감까지
데브옵스

Kafka Streams를 k8s로 옮기며 얻은 스케일링 설계: 비용 80% 절감까지

데브시스터즈
데브시스터즈
2026년 9월 3일

두줄요약

EC2 기반 Kafka Streams를 k8s와 KEDA로 옮겨 consumer lag 중심 스케일링을 설계했습니다. 그 결과 트래픽에 맞는 운영과 80% 이상 비용 절감을 달성했습니다.

문제 상황

  • EC2 기반 Kafka Streams 애플리케이션에서 피크 기준 72대 고정 운영으로 인한 과다 비용과 낮은 유연성
  • CPU 기반 HPA가 partition 불균형과 consumer lag을 반영하지 못해 실제 처리 지연을 놓치는 문제

해결 방법

  • Kafka consumer 워크로드를 topic별 독립 애플리케이션으로 분리하고, k8s로 마이그레이션
  • KEDA의 Kafka scaler로 consumer lag 기반 스케일링을 적용하고, 자정 급증 구간은 cron trigger로 선제 확장
  • pod 1대에 다중 thread를 두어 JVM 오버헤드와 rebalance 빈도를 줄이고, CPU 할당을 thread 단위로 맞춤

성능/운영 포인트

  • 트래픽이 적은 시간대에는 scale down, 피크에는 scale out하는 방식으로 비용을 트래픽에 연동
  • Helm chart와 ArgoCD로 설정 변경과 배포를 단순화
  • partition과 thread 균등 분배 문제는 KEDA 옵션과 향후 개선 과제로 남음

다음 읽기

#KEDA 주제를 다룬 다른 회사 글

100만 TPS 로그 시스템, KEDA를 이용한 오토스케일링 적용기

KEDA로 Loki 로그 시스템의 오토스케일링을 재구성해 비용과 안정성을 함께 개선했습니다. CPU·메모리뿐 아니라 Fluentd 버퍼 메트릭을 활용하고 HPA 제약으로 과대 확장도 줄였습니다.

우아한 형제들
우아한 형제들
데브옵스

댓글 0

댓글을 작성하려면 로그인이 필요합니다.

댓글을 불러오는 중...