서킷 브레이커(Circuit Breaker) 설정은 시스템의 안정성을 높이기 위해 장애를 감지하고 시스템의 과부하를 방지하는 패턴입니다.
registerHealthIndicator
true
또는 false
true
로 설정하면 애플리케이션의 헬스 체크에서 서킷 브레이커의 상태를 모니터링할 수 있습니다. 이는 운영 중에 서킷 브레이커의 상태를 실시간으로 확인할 수 있게 해줍니다.failureRateThreshold
0
에서 100
사이의 백분율50
으로 설정하면 실패율이 50%를 초과할 때 서킷 브레이커가 열립니다.waitDurationInOpenState
10000
밀리초 = 10초)입니다. 이 시간이 지나야 서킷 브레이커가 반열림 상태로 돌아갑니다.permittedNumberOfCallsInHalfOpenState
10
으로 설정하면 10개의 호출이 성공해야 서킷 브레이커가 닫힙니다.slidingWindowSize
100
으로 설정하면 최근 100개의 호출을 기준으로 실패율을 계산합니다. Closed State (닫힘 상태)
Open State (열림 상태)
Half-Open State (반열림 상태)
spring:
cloud:
circuitbreaker:
resilience4j:
instances:
slackService:
circuitBreaker:
registerHealthIndicator: true
failureRateThreshold: 50
waitDurationInOpenState: 10000
permittedNumberOfCallsInHalfOpenState: 10
slidingWindowSize: 100
위 예제에서:
failureRateThreshold: 50
은 실패율이 50%를 초과하면 서킷 브레이커가 열리게 설정합니다.waitDurationInOpenState: 10000
은 서킷 브레이커가 열린 상태로 10초 동안 유지되도록 설정합니다.permittedNumberOfCallsInHalfOpenState: 10
은 반열림 상태에서 10개의 호출이 성공해야 서킷 브레이커가 닫히도록 설정합니다.slidingWindowSize: 100
은 최근 100개의 호출을 기준으로 실패율을 계산하도록 설정합니다.이러한 설정을 통해 시스템의 장애를 감지하고 회복할 수 있도록 하여 시스템의 안정성을 유지할 수 있습니다.