728x90
반응형
# Circuit Braker의 설정값을 테스트
1. application.properties의 옵션 1번과 2번만 활성화 시킨 후 테스트 진행...
- 설정 값
# 옵션1
# 슬라이딩 창의 크기를 10으로 설정합니다.
# 슬라이딩 창은 마지막 'n' 호출의 결과를 기록한다.
resilience4j.circuitbreaker.configs.default.sliding-window-size=10
# 옵션2
# 실패율 임계값을 50%로 설한다.
# 실패률이 이 임계값을 초과하면 회로 차단기가 개방 상태로 전환된다.
resilience4j.circuitbreaker.configs.default.failure-rate-threshold=50
10개의 호출중 50% 즉 5개 이상의 호출이 실패할 경우 회로 차단기를 열고,
호출을 차단한다. 테스트 진행 : 10회의 호출 중 6회 실패 시 아래와 같이 차단된다. → 차단기 OPEN
특이점은 자동 복구는 없다. 한번 차단되면 애플리케이션을 재시작 하지 않는 이상 계속 차단된다.
2. application.properties의 옵션 1번과 2번 그리고 3번과 4번을 활성화 시킨 후 테스트 진행...
- 설정 값
# 옵션1
# 슬라이딩 창의 크기를 10으로 설정합니다.
# 슬라이딩 창은 마지막 'n' 호출의 결과를 기록한다.
resilience4j.circuitbreaker.configs.default.sliding-window-size=10
# 옵션2
# 실패율 임계값을 50%로 설한다.
# 실패률이 이 임계값을 초과하면 회로 차단기가 개방 상태로 전환된다.
resilience4j.circuitbreaker.configs.default.failure-rate-threshold=50
# 옵션3
# 열린 상태의 대기 시간을 10초로 설정한다.
# 이 기간이 지나면 회로 차단기는 반개방 상태로 전환된다.
resilience4j.circuitbreaker.configs.default.wait-duration-in-open-state=10s
# 옵션4
# 반개방 상태에서 허용되는 호출 수를 3으로 설정한다.
# 이러한 호출이 모두 성공하면 회로 차단기는 닫힌 상태로 다시 전환된다.
# 이러한 호출 중 하나라도 실패하면 회로 차단기가 다시 열린 상태로 전환된다.
resilience4j.circuitbreaker.configs.default.permitted-number-of-calls-in-half-open-state=3
10개의 호출중 50% 즉 5개 이상의 호출이 실패할 경우 회로 차단기를 열고,
호출을 차단한다. 그리고 10초 후에 반개방(HARF_OPEN) 상태로 전환된다.
반개방 상태에서 허용호출을 3회로 설정 후 3회가 모두 성공하면 다시 CLOSED(닫힌) 상태로 전환된다.
테스트 진행 : 10회의 호출 중 6회 실패 시 아래와 같이 차단된다. → 차단기 OPEN
10초후에 반개방 상태로 전환 → 반개방 상태에서 정상호출 3회 발생시 차단기를 닫는다.
- 위와 같이 다양한 옵션을 테스트 후 레퍼런스로 가지고 있으면 될거 같다.
- 끝 -
728x90
반응형
'Design Pattern' 카테고리의 다른 글
디자인 패턴 정리 (0) | 2024.05.15 |
---|---|
Transactional Outbox Pattern (0) | 2024.05.14 |
Event-Sourcing-Pattern (0) | 2024.05.02 |
Anti-Corruption Layer Pattern (부패 방지 계층 패턴) (0) | 2024.04.26 |
Circuit breaker pattern (회로 차단기 패턴) (0) | 2024.04.26 |