다섯 살도 알 수 있게 · SRE
서킷 브레이커가 뭐예요?
서킷 브레이커를 고장난 기구 앞 빨간 비상 버튼 이야기로 풀어봤어요.
고장난 기구에 계속 손님을 보내면, 다치는 사람도 매달린 직원도 늘어나요.그 기구 하나에 시간과 사람이 계속 묶여요.
안 되는 걸 계속 시도하면 시간과 자원만 낭비돼요.될 때까지 계속 두드려봐도 소용없어요.
계속 실패하면 버튼을 눌러요 — 그 기구로는 아무도 안 보내요.잠깐 뒤 한 명만 몰래 보내보고 괜찮으면 다시 열어요.
계속 실패하면 버튼 누르기차단해요
차단 중엔 아예 안 보내기손님도 직원도 보호해요
잠깐 뒤 한 명만 시험반열림이에요
괜찮으면 다시 열기아니면 또 차단해요
성공하면 닫힘으로, 실패하면 다시 열림으로 돌아가요.세 단계를 오가며 기구 상태를 다시 살펴요.
버튼이 너무 예민하면 괜찮은데도 자꾸 차단해요.기준(임계값)을 잘 잡아야 오탐이 줄어요.
한 줄로
서킷 브레이커 = 고장난 기구에 계속 실패하면 빨간 버튼을 눌러 아예 안 보내는 일. 잠깐 뒤 한 명만 시험 삼아 보내 보고 괜찮으면 다시 열어요.
닫힘(closed, 정상 통과) · 열림(open, 전부 차단) · 반열림(half-open, 하나만 시험)의 세 상태를 오가는 패턴이에요. 재시도와 달리 '이번엔 아예 보내지 않는다'는 점이 다르고, 임계값을 잘못 잡으면 멀쩡한 서비스도 차단하는 오탐(false positive)이 생겨요.
어른들은 이렇게 불러요
- 서킷 브레이커
Circuit breaker - 고장난 기구 앞 빨간 비상 버튼. 누르면 그 기구로는 아무도 안 보내요.
- 닫힘 상태
Closed state - 평소처럼 손님을 보내는 정상 상태. 문제가 없으면 늘 이 상태예요.
- 열림 상태
Open state - 아무도 안 보내는 차단 상태. 계속 실패하면 이 상태로 바뀌어요.
- 반열림 상태
Half-open state - 한 명만 몰래 보내보는 시험 상태. 괜찮으면 닫힘, 아니면 다시 열림이에요.
- 임계값
Threshold - 몇 번 실패해야 버튼을 누를지 정한 기준. 너무 낮으면 오탐, 너무 높으면 늦게 막아요.
- 재시도
Retry - 실패하면 잠깐 쉬었다 다시 줄서는 것. 서킷 브레이커는 아예 안 보내고, 재시도는 다시 시도해요 — 서로 다른 대응이에요. → 잠깐 쉬었다 다시 줄서기
- 캐스케이딩 실패
Cascading failure - 한 곳의 문제가 옆으로, 또 옆으로 번지는 것. 서킷 브레이커는 이게 더 커지기 전에 끊어요.
- 벌크헤드
Bulkhead - 공원을 구역으로 나눠 피해를 가두는 것. 서킷 브레이커와 같이 쓰면 더 든든해요. → 불이 안 번지게 나눈 구역
다음 이야기
잠깐 쉬었다 다시 줄서기 →