본문 바로가기

Design Pattern

Circuit Braker Option 테스트

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
반응형