서킷 브레이커 패턴이라고도 불리며 서비스 장애를 감지하고 연쇄적으로 생기는 에러를 방지하는 기법.
서비스와 서비스 사이에 서킷브레이커 계층을 두고 미리 설정해놓은 timeout 임계값에 도달하면 서킷브레이커가 그 이후 추가 호출에 무조건 에러를 반환하게 한다.
(연쇄적인 오류 전파를 끝내는 서킷브레이커)
도메인별로 서비스를 컴포넌트화 해서 네트워크로 묶는 것.
각각의 서비스를 하나의 서버로 만들어 놓는다.
서킷브레이커는 Error를 반환한다
기다리는 것 보다는 Error 반환이 낫다
사용자 입장에서 응답을 오래 기다려야 하는 것은 좋은 UX가 아니다.
성공인지 실패인지 중요하지 않아, 중요한 것은 사요자가 기다리지 않아야 한다는 것.
서비스를 만들 때 가장 중요한 것은 UX
서비스에 전달하지 않고 바로 Error를 반환한다.
세 가지 상태값을 갖는다
연속적인 에러 발생을 막아주며 일부 서비스가 종료되더라도 다른 서비스들은 이상없이 동작하게 만들 수 있다, 사용자 경험을 높여준다.
서킷브레이커가 구현된 라이브러리
Hystrix, Resilience4j 가 대표적.