← 질문 목록
#54깊이 0

서킷 브레이커는 무엇을 막아주는가?

아키텍처 · 분산시스템기초장애 대응

죽은 서비스를 계속 두드리다 내 쪽까지 무너지는 것을 막는다. 응답 없는 곳에 요청을 보내면 스레드와 커넥션이 그만큼 묶인다.

  • 닫힘

    • 열림

      실패율이 기준을 넘는다. 이제 즉시 거절한다

  • 열림

    • 반열림

      일정 시간 뒤 몇 건만 흘려본다

  • 반열림

    • 닫힘 (앞의 상태로 돌아갑니다)

      성공하면 원래대로

    • 열림 (앞의 상태로 돌아갑니다)

      또 실패하면 다시 막는다

빠른 실패가 내 쪽 자원을 지킨다. 30초를 기다렸다 실패하는 것보다 즉시 실패하는 편이 낫다. 그동안 자원이 안 묶이고 대체 응답을 줄 수 있다.

기준을 잡는 것이 어렵다. 너무 민감하면 잠깐 흔들린 것에도 끊기고, 둔하면 이미 무너진 뒤에 열린다.

재시도와 서킷 브레이커는 서로의 동작에 영향을 준다. 둘은 서로를 밀어낸다. 재시도가 실패를 늘려 서킷을 더 빨리 열고, 서킷이 열려 있으면 재시도는 헛돈다. 설정을 따로 잡으면 안 된다.

추천 꼬리질문

0/300

적은 내용은 AI 학습에 쓰일 수 있습니다. 이름이나 연락처는 넣지 말아 주세요.

관련 질문

서킷 브레이커는 무엇을 막아주는가?