<aside>
💡
블로그 주소
1. 문제 상황
기존 WarmUp 방식 (API 호출식)
애플리케이션 실행 후, 서비스 투입(트래픽 유입) 전 API를 선별하여 호출한다.
- 자주 호출되는 API 선별
- 실제 값에 영향을 주는 API 제외 (POST, PUT, DELETE)
- API 호출 횟수 결정
문제점
- 배포 시, 메인 애플리케이션 서비스뿐만 아니라 호출 서비스로 다량의 트래픽이 발생된다.
- 그렇다고 호출 횟수를 줄이면 원하는 만큼의 최적화가 진행되지 않는다.
- delay를 줘서 호출을 진행하면 배포 시간이 늘어난다.
- 피크 시간대에 스케일 아웃(k8s HPA) 발동으로 신규 애플리케이션 pod 생성 및 실행되는 상황
- 포화 상태에서 신규 pod가 생성되었지만, 웜업으로 인한 추가 트래픽이 발생이 될 수 있다.
- 데이터 분석을 위해 API 호출들에 대한 로그를 쌓고 있는데, 웜업을 위한 호출에서 불필요한 로그 데이터를 추가 저장하게 된다.
- 신규 API 생성이나 기존의 API가 deprecated 됨에 따라 웜업 코드도 수정이 필요하게 된다.
2. 해결 과정
1) 아이디어