이 문서를 통해 아래 질문들에 답할 수 있게 됩니다.
- provider 장애가 발생하면 어떤 완화 전략이 있는가?
- fallback model과 degrade mode는 어떻게 다르게 쓰는가?
- circuit breaker는 AI 기능에서 어떤 역할을 하는가?
개요
AI 기능은 외부 provider에 의존할 수 있다. provider 장애, rate limit, latency 증가가 발생하면 내부 서버까지 영향을 받을 수 있다. 운영 서비스는 provider 장애를 전제로 설계해야 한다.
완화 전략
- timeout
- retry 제한
- circuit breaker
- fallback model
- fallback provider
- cached response
- related documents only
- queue 전환
- feature flag off
이 중 어떤 것을 쓸지는 기능 중요도와 위험도에 따라 다르다.
Fallback과 Degrade
fallback은 다른 모델이나 provider로 대체하는 것이다. degrade는 기능 품질을 낮춰 계속 제공하는 것이다.
예:
- 고급 답변 생성 실패 시 관련 문서 목록만 제공
- 실시간 요약 실패 시 job으로 접수
- agent 자동 실행 실패 시 실행 계획만 생성
- 고성능 모델 장애 시 작은 모델로 초안 생성
코드로 이해하기
public AiAnswer answerWithFallback(User user, String question) {
try {
return primaryAiService.answer(user, question);
} catch (LlmUnavailableException ex) {
log.warn("primary llm unavailable, degrading to source list", ex);
return relatedDocumentService.findRelatedOnly(user, question);
}
}degrade response는 제품팀과 미리 문구를 정해야 한다.
Circuit Breaker
provider 실패율이 높을 때 계속 호출하면 서버 thread와 비용을 낭비한다. circuit breaker는 일정 시간 빠르게 실패하거나 fallback으로 보낸다.
장애 상황과 대응
provider 5xx 증가:
- circuit breaker 열림 확인
- fallback route 정상 여부 확인
- provider status 확인
- retry storm 여부 확인
rate limit:
- tenant별 사용량 확인
- batch/eval 중단
- queue 처리량 제한
- 사용자 메시지 조정
인프라 협업 포인트
인프라팀과 provider별 health check, outbound timeout, circuit breaker threshold, fallback 트래픽 비용, feature flag 경로를 합의한다.
실전 팁
- fallback은 평소에 테스트한다.
- fallback model도 schema eval을 돌린다.
- degrade UX는 장애 때 즉석에서 만들지 않는다.
- provider 장애 알림을 application metric과 연결한다.
위험 신호!
- provider 장애가 전체 API timeout으로 번진다.
- fallback을 한 번도 테스트하지 않았다.
- circuit breaker 없이 retry만 한다.
- degrade response가 없다.
확인 질문
확인 질문
- fallback과 degrade mode의 차이는 무엇인가?
- fallback은 대체 모델이나 provider로 처리하는 것이고, degrade는 기능 수준을 낮춰 제공하는 것이다.
- circuit breaker가 필요한 이유는 무엇인가?
- provider 장애 시 내부 리소스 고갈과 retry storm을 막기 위해서다.
Spring AI 적용 연결
- Spring AI에서 provider 장애는 model profile fallback, cached response, feature flag, queue 전환 같은 degrade mode로 다룬다. 장애 흐름은 11. Observability와 장애 대응 런북에서 이어진다.
- fallback 정책을 배포와 운영 계약으로 관리하는 기준은 12. Production Readiness와 인프라 협업을 함께 본다.