피드로 돌아가기
Dev.toInfrastructure
원문 읽기
1만 건 이상의 요청 시 발생하는 패턴 탐지로 인한 시스템 붕괴 방지 설계
Why Data Collection Systems Work for 10 Minutes and Fail After 10,000 Requests
AI 요약
Context
단기 테스트에서는 정상 작동하나 대규모 트래픽 유입 시 동작 패턴이 노출되며 시스템이 차단되는 현상 발생. 요청 횟수 증가에 따라 Timing, Session, IP Reputation 등 숨겨진 불일치가 증폭되어 가용성이 저하되는 한계점 노출.
Technical Solution
- 고정된 sleep 간격을 random.uniform(1.5, 4.5) 기반의 가변적 지연 시간으로 대체하여 예측 가능한 Timing 패턴 제거
- Session Lifetime을 의도적으로 관리하여 세션 유지 시간 과다 및 쿠키 만료로 인한 일관성 신호 노출 방지
- 단일 IP 집중도를 낮추기 위해 Proxy Pool을 통한 트래픽 분산 및 라우팅 일관성 확보
- 즉각적인 재시도 대신 2~4회의 Retry Backoff 전략을 도입하여 Rate Limit 트리거 가능성 최소화
- Concurrency Cap 설정을 통해 버스트 트래픽으로 인한 Proxy Layer 부하 및 탐지 확률 제어
- 정형 데이터 확보를 위한 Hidden API 엔드포인트 우선 발굴로 불필요한 Request Volume 및 Parsing 부하 감소
실천 포인트
- 단순 sleep 대신 랜덤 지연 시간을 적용하여 요청 간격의 규칙성 제거 여부 검토 - 세션 재사용 시 라이프사이클 제한 및 헤더/쿠키의 정기적 갱신 로직 구현 - 2~4회 범위의 Exponential Backoff 기반 Retry 전략 수립 - 요청량 증가에 따른 Proxy 분산 및 TLS Fingerprint 일관성 검증 - 무분별한 Concurrency 증가 전 성공률 지표 기반의 임계치 설정