Versions Compared

Key

  • This line was added.
  • This line was removed.
  • Formatting was changed.

...

  • 정리
    • Info
      iconfalse
      • Circuit Open 여부는 통계를 기반으로 한다.
      • 최근 10초간 호출 통계
        • metrics.rollingStats.timeInMilliseconds : 10000
      • 최소 요청 갯수(20) 넘는 경우만
        • circuitBreaker.requestVolumeThreshold : 20
      • 에러 비율 넘는 경우(50%)
        • circuitBreaker.errorThresholdPercentage : 50
      • 한번 Circuit이 오픈되면 5초간 호출이 차단되며, 5초 경과후 단 “1개”의 호출을 허용하며 (Half-Open), 이것이 성공하면 Circuit을 다시 CLOSE하고, 여전히 실패하면 Open이 5초 연장된다.
        • circuitBreaker.sleepWindowInMilliseconds : 5000


      • Circuit Breaker의 단위 ?
        • 에러 비율을 통계의 단위
        • Circuit Open / Close가 함께 적용되는 단위
        • 즉, A 메소드와 B 메소드가 같은 Circuit Breaker를 사용한다면, A와 B의 에러 비율이 함께 통계내어지고, Circuit이 오픈되면 함께 차단된다.
      • Circuit의 지정은 ?
        • 'commandKey' 라는 프로퍼티로 지정 가능.
        • @HystrixCommand에서는 지정하지 않는 경우 메소드 이름 사용
          • 이렇게 사용하지 말것 !
          • 메소드 이름은 겹칠 수 있으며, 나중에 나오는 Feign의 경우 또 다르기 때문에 헷갈 릴 수 있다.
          • 항상 직접 지정 해서 사용하기