다섯 살도 알 수 있게 · 보안
로드 밸런서가 뭐예요?
로드 밸런서(Load Balancer)를 창구 앞 줄 안내원 이야기로 풀어봤어요.
창구가 하나면 줄이 길어져요.마을 사람이 많아지면 창구 직원 한 명이 못 받아요.
창구를 늘려도 다들 한 줄에만 서요.어느 창구가 비었는지 아무도 몰라요.
로드 밸런서는 줄 안내원이에요.'이쪽으로 오세요.' 한가한 창구로 나눠 보내요. 마을 사람은 창구가 몇 개인지 몰라도 돼요.
나눠 보내기차례대로, 또는 제일 짧은 줄로
열린 창구 확인매 분 문을 두드려 봐요
같은 창구로 다시아까 그 직원에게
창구 늘리기바쁘면 하나 더 열어요
창구 하나가 닫혀도 아무도 몰라요.안내원이 문 닫힌 창구엔 안 보내요. 고치는 동안 다른 창구가 받아요.
안내원이 쓰러지면 다 멈춰요.그래서 안내원도 둘 둬요. 그리고 창구마다 장부가 다르면 '아까 그 얘기'를 못 알아들어요 — 장부를 한 곳에 두거나, 같은 창구로 보내요.
한 줄로
로드 밸런서 = 마을 사람들을 한가한 창구로 나눠 보내는 줄 안내원. 닫힌 창구엔 안 보내고, 창구가 몇 개인지 마을은 몰라요.
Load Balancer. 접수원(리버스 프록시)이 하는 일 중 하나예요. 겉봉만 보고 나누면 L4, 쪽지를 읽고 나누면 L7. nginx, HAProxy, AWS ALB/NLB 같은 것들.
어른들은 이렇게 불러요
- 라운드 로빈
Round robin - 차례대로 한 명씩. 1, 2, 3, 1, 2, 3… 제일 단순한 나누기.
- 최소 연결
Least connections - 제일 짧은 줄로. 지금 손님이 제일 적은 창구로.
- 헬스 체크
Health check - 창구 문 두드려 보기. 대답 없는 창구엔 안 보내요.
- 스티키 세션
Sticky session - 아까 그 창구로. 장부가 창구마다 따로일 때 쓰는 방법.
- 오토스케일
Autoscaling - 창구 더 열기. 줄이 길어지면 창구를 늘리고, 한가하면 닫아요.
- L4 · L7
L4 · L7 - 겉봉만 vs 쪽지 읽고. L4는 주소만 보고 나누고, L7은 쪽지 내용을 보고 나눠요. → 접수원 이야기
- 단일 장애점
Single point of failure - 안내원 하나. 쓰러지면 다 멈춰요. 그래서 둘 둬요.
- 공유 세션 저장소
Shared session store - 창구들이 같이 보는 장부. 어느 창구로 가도 '아까 그 얘기'를 알아요.
다음 이야기
마을마다 복사본 창고 →