다섯 살도 알 수 있게 · SRE

서킷 브레이커가 뭐예요?

서킷 브레이커를 고장난 기구 앞 빨간 비상 버튼 이야기로 풀어봤어요.

고장여기만 계속 붙잡고 있어요...고장난 기구에 계속 손님을 보내면, 다치는 사람도 매달린 직원도 늘어나요

고장난 기구에 계속 손님을 보내면, 다치는 사람도 매달린 직원도 늘어나요.그 기구 하나에 시간과 사람이 계속 묶여요.

또 실패...안 되는 걸 계속 시도하면 시간과 자원만 낭비돼요

안 되는 걸 계속 시도하면 시간과 자원만 낭비돼요.될 때까지 계속 두드려봐도 소용없어요.

고장 — 차단다른 기구한 명만 몰래 시험계속 실패하면 버튼을 눌러요 — 그 기구로는 아무도 안 보내요잠깐 뒤 한 명만 몰래 보내보고 괜찮으면 다시 열어요

계속 실패하면 버튼을 눌러요 — 그 기구로는 아무도 안 보내요.잠깐 뒤 한 명만 몰래 보내보고 괜찮으면 다시 열어요.

계속 실패하면 버튼 누르기차단해요
차단 중엔 아예 안 보내기손님도 직원도 보호해요
잠깐 뒤 한 명만 시험반열림이에요
괜찮으면 다시 열기아니면 또 차단해요
닫힘 — 정상열림 — 차단?반열림 — 시험계속 실패하면잠깐 후성공하면성공하면 닫힘으로, 실패하면 다시 열림으로 돌아가요

성공하면 닫힘으로, 실패하면 다시 열림으로 돌아가요.세 단계를 오가며 기구 상태를 다시 살펴요.

사실 멀쩡해요멀쩡한데 왜 막아요?버튼이 너무 예민하면 괜찮은데도 자꾸 차단해요 — 기준을 잘 잡아야 해요

버튼이 너무 예민하면 괜찮은데도 자꾸 차단해요.기준(임계값)을 잘 잡아야 오탐이 줄어요.

한 줄로

서킷 브레이커 = 고장난 기구에 계속 실패하면 빨간 버튼을 눌러 아예 안 보내는 일. 잠깐 뒤 한 명만 시험 삼아 보내 보고 괜찮으면 다시 열어요.

닫힘(closed, 정상 통과) · 열림(open, 전부 차단) · 반열림(half-open, 하나만 시험)의 세 상태를 오가는 패턴이에요. 재시도와 달리 '이번엔 아예 보내지 않는다'는 점이 다르고, 임계값을 잘못 잡으면 멀쩡한 서비스도 차단하는 오탐(false positive)이 생겨요.

어른들은 이렇게 불러요

서킷 브레이커
Circuit breaker
고장난 기구 앞 빨간 비상 버튼. 누르면 그 기구로는 아무도 안 보내요.
닫힘 상태
Closed state
평소처럼 손님을 보내는 정상 상태. 문제가 없으면 늘 이 상태예요.
열림 상태
Open state
아무도 안 보내는 차단 상태. 계속 실패하면 이 상태로 바뀌어요.
반열림 상태
Half-open state
한 명만 몰래 보내보는 시험 상태. 괜찮으면 닫힘, 아니면 다시 열림이에요.
임계값
Threshold
몇 번 실패해야 버튼을 누를지 정한 기준. 너무 낮으면 오탐, 너무 높으면 늦게 막아요.
재시도
Retry
실패하면 잠깐 쉬었다 다시 줄서는 것. 서킷 브레이커는 아예 안 보내고, 재시도는 다시 시도해요 — 서로 다른 대응이에요. → 잠깐 쉬었다 다시 줄서기
캐스케이딩 실패
Cascading failure
한 곳의 문제가 옆으로, 또 옆으로 번지는 것. 서킷 브레이커는 이게 더 커지기 전에 끊어요.
벌크헤드
Bulkhead
공원을 구역으로 나눠 피해를 가두는 것. 서킷 브레이커와 같이 쓰면 더 든든해요. → 불이 안 번지게 나눈 구역
다음 이야기
잠깐 쉬었다 다시 줄서기 →
다른 용어도 그림책으로 보고 싶다면 요청하기 →