루다 선톡을 대비하는법
두줄요약
선톡으로 인한 급격한 트래픽에 대비해 발송 예정 메시지 수 기반의 Prescaler를 설계했습니다.\nCustom Resource와 Controller로 HPA의 minReplicas를 사전 조정했습니다.
문제 상황
- 선톡 발송 직후 응답 사용자 증가로 인한 급격한 서버 부하
- 현재 RPS 기반 HPA의 사후 확장과 모델 서버 배포 지연으로 인한 장애 가능성
원인 분석
- 선톡 대상 수와 발송 시각의 불규칙성으로 고정 스케일아웃 전략 수립 곤란
- Kubernetes의 Custom Metrics Server 단일 지원 제약과 캐릭터별 상이한 트래픽 패턴
해결 방법
- 발송 대상 검색과 메시지 발송을 10분 간격으로 분리해 사전 대응 시간 확보
- VirtualMetric·VirtualMetricEvent·HorizontalPodPrescaler 기반 Prescaler 설계
- Custom Controller에서 예측 메트릭 병합, 필요 replica 계산, 기존 HPA의 minReplicas 변경
성능/운영 포인트
- 이벤트 시간·발송 예정 메시지 수 기반 API와 expression으로 서비스별 예측값 조정
- Helm 및 RBAC로 Custom Resource 조회와 HPA 업데이트 권한 구성
- 응답률에 따른 target value와 이벤트 expression 조정

