DevLog

엔지니어링 블로그를 한 곳에서 탐색하고, 최근 발행 흐름을 빠르게 파악할 수 있는 서비스 입니다.

Quick Links

  • Latest Feed
  • Engineering Directory

Support

  • 소개
  • 개인정보처리방침

Contribute

  • 원하는 블로그 추가 (준비 중)
  • Feedback

© 2026 DevLog Inc. All rights reserved.

본 사이트는 공개 RSS 피드를 통해 콘텐츠를 수집하며, 모든 콘텐츠의 저작권은 원저작자에게 있습니다.

Back to Feed
Read Original

Contents

Continue Reading

  • More from 미리디
  • Related reads#CircuitBreaker
#Backend

외부 API 장애가 우리 서비스 장애로 이어졌다

외부 API 장애가 우리 서비스 장애로 이어졌다
01

Summary

외부 API가 터져도 우리 서비스는 끄떡없다! 미리디의 무중단 멀티 벤더 Fallback 구축기

서킷 브레이커와 Redis를 융합하여 장애 복구 자동화와 완벽한 관측성 확보까지 한 번에 해결한 비결

이 아티클은 외부 API의 잦은 중단으로 인한 가동성 저하를 방지하기 위해 구축된 자동 Fallback 시스템의 아키텍처와 시행착오를 보여줍니다. 서킷 브레이커 도입 효과뿐만 아니라, 예외 검증 범위의 한계로 인해 겪었던 실제 장애 사례(CI 누락)와 이를 고도화하기 위한 정교한 오류 분류 기법 및 백업 상태 관리 전략을 깊이 있게 다룹니다. 신뢰할 수 있는 외부 연동 모듈을 설계하기 위한 실용적이고 상세한 엔지니어링 여정입니다.

  • 01자동 Fallback 도입으로 장애 벤더 교체 및 복구 소요 시간을 5분 이내로 개선
  • 02서킷 브레이커의 장애 탐지 상태를 Redis에 동적 반영하여 최적의 대안 벤더 라우팅 구현
  • 03단순 외부 호출 감지를 넘어 복호화 및 데이터 필수값 검증 단계까지 서킷 브레이커 관찰 범위 확장 방안 도출
  • 04사용자 단순 입력 오류와 벤더사 장애를 분리하는 별도의 오류 분류 시스템 아키텍처 설계
  • 05개인정보 보호 제약을 준수하면서 유효 데이터를 활용하는 실제 요청 기반 비동기 상태 확인 방법 고안

+RECOMMENDATION

수많은 서드파티 API 연동의 불안정성을 제어하고자 하는 백엔드 엔지니어 및 복잡한 장애 조치 작업을 자동화하여 가동율을 극대화하려는 시스템 아키텍트에게 필독을 권장합니다.

The Problem

공공데이터포털 등 외부 API의 잦은 장애가 신원확인 서비스와 연동 서비스로 전파되었습니다. 멀티 벤더 구조는 있었으나 장애 발생 시 개발자가 설정값을 수동으로 변경해야 해 업무 외 시간 대응 지연 및 관측성 부재의 문제가 발생했습니다.

The Solution

서킷 브레이커 패턴을 통해 API 호출 실패를 감지하고, 장애 벤더를 자동으로 제외한 뒤 Redis 기반의 실시간 상태 정보와 우선순위에 따라 정상 벤더로 자동 Fallback하게 구현하였습니다. 관측성 확보를 위해 Health Status 웹 페이지와 타 서비스 자동화를 위한 Health API도 추가로 구축했습니다.

The Result

장애 자동 복구 도입 후 수동 대응 시 최대 165분이 걸리던 장애 전환 시간이 5분 이내로 비약적으로 단축되었으며, 실제 장애 기간 동안의 시스템 실패율이 86.1%에서 26.8%로 현저히 감소했습니다.

Trade-off

멀티 벤더가 아닌 단일 벤더 구조의 기능에는 적용할 수 없다는 한계가 있으며, 개인정보 보호 원칙으로 민감 정보를 보관할 수 없어 사용량이 저조한 백업 벤더의 최신 상태를 백그라운드에서 실시간으로 정밀하게 유지하기 어렵습니다.

03

Key Concepts

Concept · 01

서킷 브레이커 패턴

외부 API 등 연동 시스템의 장애율을 추적하여 임계치를 초과하면 요청 전송을 차단하고, 미리 지정한 Fallback 경로로 제어 흐름을 우회시켜 연쇄 장애 전파를 방지하는 설계 패턴입니다.

  • 외부 API 호출 및 응답 수신 실패율을 실시간으로 감시하여 회로의 OPEN 및 CLOSE 상태를 판단합니다.
  • CI 누락 장애와 같은 정합성 오류까지 모니터링 영역에 넣기 위해 검증 로직까지 서킷 적용 범위를 확장해 나갑니다.
Concept · 02

멀티 벤더 자동 Fallback

동일 기능을 제공하는 여러 외부 업체의 연동 레이어를 구축하고, 주 벤더 장애 발생 시 실시간 헬스 체크 상태와 선호도 순위에 따라 최적의 정상 벤더로 수동 개입 없이 트래픽을 자동 라우팅하는 기술입니다.

  • 사용자 요청 유입 시 Redis에 기록된 최신 벤더 상태와 우선순위를 비교하여 최선의 호출 대상을 결정합니다.
  • 수동 복구 시 최대 165분까지 소요되던 장애 대기 시간을 자동 제어를 통해 5분 미만으로 극적으로 단축시켰습니다.
Concept · 03

오류 분류 시스템

단순 HTTP 응답 상태 코드에 의존하지 않고, 벤더의 불규칙한 에러 본문 문구를 상세 분류하여 사용자 과실에 의한 예외와 실제 인프라 장애 예외를 정밀하게 식별하는 유효성 레이어입니다.

  • 200 OK 형식으로 반환되는 사용자 불일치 예외를 서킷 브레이커 실패율 계산에서 정상 제외하도록 판정합니다.
  • 미등록 에러 감지 시 슬랙 알림을 전송하고 AI 분석을 결합하여 점진적으로 비즈니스 오류 분류의 정확도를 높입니다.
Continue reading · same source

미리디More from 미리디

View all posts from 미리디
  • 테스트가 늘수록 느려지던 CI, 16분에서 3분이 되기까지

    VitestCI-CDMonorepo
    5일 전
  • 미리캔버스의 SVG 필터 활용기: 브라우저에서 이미지 보정하기

    SVGWeb GraphicsImage Processing
    1주 전
  • 미리디 엔진팀이 사내 해커톤 이틀 만에 만든 결과물 30개

    HackathonAI AgentRapid Prototyping
    2주 전
  • AI 잘 쓰는 사람의 노하우, 어떻게 팀 전체로 퍼질까?

    AI EnablementAXAI Native
    3주 전
  • 미리캔버스가 AI 3대로 해외 트렌드에서 진짜를 가려내는 법

    LLM AgentsMulti-Agent OrchestrationTrend Analysis
    1개월 전

Related reads#CircuitBreaker

Explore #CircuitBreaker
올리브영·POS System

고객의 1초를 줄이기 위해, POS 결제 구조를 다시 설계하다

#CircuitBreaker1개월 전
올리브영·Microservices

배송최적화 시스템 구축기 Part 01. 올리브영이 멀티 센터 체제로 배송 시간을 14시간 단축한 과정

#CircuitBreaker6개월 전

Source

미리디
미리디
Engineering Blog

Published · September 15, 2026

Topics

Circuit BreakerRedisResilienceAPI IntegrationFallback