일 | 월 | 화 | 수 | 목 | 금 | 토 |
---|---|---|---|---|---|---|
1 | 2 | |||||
3 | 4 | 5 | 6 | 7 | 8 | 9 |
10 | 11 | 12 | 13 | 14 | 15 | 16 |
17 | 18 | 19 | 20 | 21 | 22 | 23 |
24 | 25 | 26 | 27 | 28 | 29 | 30 |
- 오라클
- 오라클 디비
- 운영체제
- 자바
- hyperledger
- gradle
- K6
- spring
- resilience4j
- SQL
- 문법 정리
- 자바 프로젝트
- auto configure
- c#
- jsp
- dynamic query
- JVM
- 유사코드
- 파이썬
- 파이썬 소스
- smart cast
- 알고리즘
- 백준 알고리즘
- 리눅스
- 초대장
- 학점
- 티스토리
- oracle
- 프로젝트
- MongoDB
- Today
- Total
목록resilience4j (2)
모종닷컴
이전 포스팅(Circuit Breaker Pattern 그리고 이를 스프링에 적용해보기)에서 예고한 대로 Circuit Breaker의 상태 변화에 따른 이벤트 리스너 추가 및 서킷의 상태를 수동으로 변경하는 법 및 서킷브레이커를 리셋하는 방법을 쓰려고 합니다. 이벤트 리스너 추가 CircuitBreaker를 적용하고 나서 고민했던 포인트 중 하나는 서킷브레이커가 OPEN 상태가 되었을 때 개발자들도 인지를 했으면 좋겠다는 생각이었습니다. 처음에는 서킷브레이커 코드 중에서 상태를 변경하는 부분을 찾아내서 해당 부분을 커스텀하면 되지 않을까?라는 생각을 했었습니다. 서킷브레이커 코드를 조금 찾아보고 나니, 서킷에 이벤트 리스너가 있는 걸 알 수 있었습니다. 관련해서 계속 파고들어 가다 보니 CircuitB..
Circuit Breaker는 무엇이며 어떠한 상황에서 사용될까? circuit breaker는 이름에서 알 수 있듯이 회로를 차단하는 기능입니다. 주로 외부 콜에 의존하는 부분에 사용합니다. 예를 들어 A와 B 서버가 존재한다고 가정해보겠습니다. A서버에서는 B서버의 API에 의존하고 있는 형태일 때 만약 B서버에 과부하가 걸려 응답을 제시간에 못주게 되는 경우 A서버에서의 API 호출은 응답을 기다리다가 모두 실패하게 될 것입니다. 이렇게 B서버의 장애는 A서버 외에도 B서버를 사용하고 있는 모든 서버에 장애가 전파되게 됩니다. 이때 이런 생각을 해보게 됩니다. "어차피 지금 B서버의 요청은 모두 timeout이 나게 될텐데 A서버가 이 요청을 위해 리소스를 계속 낭비하고 있어야 할까?" 예를 들어 ..