일 | 월 | 화 | 수 | 목 | 금 | 토 |
---|---|---|---|---|---|---|
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 | 31 |
- Docker
- 프로그래머스
- 레벨2
- 우아한테크코스
- 미션
- AWS
- CircuitBreaker
- 스프링부트
- 우아한세미나
- Paging
- HTTP
- 스프링 부트
- 코드리뷰
- 프리코스
- 트랜잭션
- yml
- mock
- 우테코
- 의존성
- 자바
- 세션
- MSA
- 백준
- AOP
- 서블릿
- Spring Batch
- JUnit5
- Level2
- JPA
- REDIS
- Today
- Total
목록CircuitBreaker (2)
늘

게이트웨이를 운영하던중 첫 적립 api를 호출했을때 아래의 예외가 터졌다.java.util.concurrent.TimeoutException: Did not observe any item or terminal signal within 1000ms in 'contextWriteRestoringThreadLocals' (and no fallback has been configured)게이트웨이 구성은 spring cloud gateway로 구성되어있고 아래 zipkin에서 보면 response-time이 1s가 넘어가자 exception을 던지는 것으로 확인했다. 다만 gateway에서 response-timeout설정을 1s보다 길게 잡아두었는데 1000ms에서 예외가 터지는게 의아했다.원인 찾기1. 일..

서킷브레이커는 회로 차단기로도 불리며 주요 목적은 시스템의 일부분에 문제가 발생했을 때, 그 문제가 전체 시스템으로 확산되는 것을 방지하는 것입니다. 가령 게이트웨이에서 라우팅하는 대상의 서버가 응답이 없거나 특정 에러를 계속 발생시킨다면 게이트웨이의 자원도 고갈됩니다. 모든 서비스에 장애가 전파되는 것이지요. 이러한 문제를 막기 위해 회로차단기(circuitBreaker)를 둠으로써 장애의 전파를 막을 수 있습니다. 서킷 브레이커는 개발자가 설정하는 값에 따라 어느 상황에서 서킷을 열지를 결정할 수 있습니다. (설정 관련 문서 를 참고해서 작성할 수 있습니다.)이러한 서킷이 열렸는지 닫혔는지 여부도 개발자가 알수 있어야한다고 생각됩니다. 따라서 서킷의 이벤트가 발생할때 슬랙으로 알림을 전송받도록 구현해..