MSA는 여러 마이크로 서비스로 시스템을 구성한다. 여러 마이크로 서비스의 API 통신 흐름이나, 마이크로 서비스의 장애 상황을 파악하기 위해 모니터링과 분산 추적, 장애 처리 방법 등이 필요하다.
CircuitBreaker
마이크로 서비스 통신의 장애 전파 상황
- User 서비스에서 Order 서비스에 요청을 보냈고 응답을 기다리고 있다.
- Order 서비스에서 장애가 발생해 응답을 보내지 못했다.
- User 서비스는 타임 아웃되어 요청 처리에 실패하고 500번 응답을 내린다.
- 즉, Order 서비스에서 발생한 장애가 User 서비스에도 전파되었다.
장애 전파 방지
- Order 서비스에서 장애가 발생하더라도 User 서비스는 이를 감지하고 적절한 응답을 내려줘야한다.
- User 서비스가 Order 서비스에서 장애를 감지하면 fallback 메소드를 실행하여 응답을 내려준다. 가령 Order에서 보내주는 값을 제외한 데이터를 보낸다.