250923 서킷브레이커, API gateway 필터링

uni.gy·2025년 9월 23일

서킷 브레이커

  • 클로즈드:
    • 기본 상태, 모든 요청 통과
    • 실패율이 설정된 임계값을 초과하면 오픈 상태로 전환
  • 오픈:
    • 모든 요청을 즉시 실패로 처리 에러 응답 반환
    • 설정된 대기 시간이 지난 후, 하프-오픈 상태로 전환
  • 하프-오픈:
    • 제한된 수의 요청을 허용하여 시스템이 정상 상태로 복구되었는지 확인
    • 요청이 성공하면 클로즈드로 전환, 다시 실패하면 오픈 상태로 전환
    • 예시: 하프-오픈 상태에서 3개의 요청을 허용하고, 모두 성공하면 클로즈드 상태로 전환. 만약 하나라도 실패하면 다시 오픈 상태 전환.
  • Fallback: 호출 실패시 대체 로직

Spring Cloud Gateway 필터링

  • Global Filter: 모든 요청에 대해 작동하는 필터
  • Gateway Filter: 특정 라우트에만 적용되는 필터

필터 시점별 종류

  • pre filter: 요청 처리되기 전에 실행한 다음 체인의 다음 필터로 요청을 전달.

  • post filter: Post 필터는 요청이 처리된 후, 응답이 반환되기 전에 실행됩니다. Post 필터에서는 체인의 다음 필터가 완료된 후에 실행되어야 하는 추가적인 작업을 수행해야 합니다.

  • 게이트웨이 라우트에서 lb://product 같은 서비스 ID 기반 URI를 쓰면, 게이트웨이는 Eureka에 등록된 인스턴스 목록을 받아 라운드로빈(기본 전략) 으로 선택합니다. Feign이나 Ribbon을 “직접” 설정하지 않아도, Gateway 내부가 이미 “로드밸런싱 클라이언트”(Spring Cloud LoadBalancer)를 사용합니다.

profile
한결같이

0개의 댓글