042. L4 vs L7 로드밸런서 — NLB와 ALB
로드밸런서는 들어오는 트래픽을 여러 서버에 분산한다. OSI 모델의 어느 계층에서 동작하느냐에 따라 L4와 L7으로 나뉜다. L4는 TCP/UDP 레벨에서, L7은 HTTP 내용을 보고 라우팅 결정을 내린다. AWS의 NLB와 ALB를 기준으로 각각 언제 쓰는지 설명한다.
로드밸런서는 들어오는 트래픽을 여러 서버에 분산한다. OSI 모델의 어느 계층에서 동작하느냐에 따라 L4와 L7으로 나뉜다. L4는 TCP/UDP 레벨에서, L7은 HTTP 내용을 보고 라우팅 결정을 내린다. AWS의 NLB와 ALB를 기준으로 각각 언제 쓰는지 설명한다.
로드밸런서는 헬스체크로 서버가 정상인지 확인하고, 비정상 서버로는 트래픽을 보내지 않는다. Connection Draining은 서버를 내릴 때 기존 연결을 끊지 않고 자연스럽게 처리가 끝나길 기다린다. 이 두 메커니즘이 무중단 배포와 자동 장애 복구의 기반이 된다.
Sticky Session은 같은 클라이언트의 요청이 항상 같은 서버로 가도록 로드밸런서가 보장하는 기능이다. 서버가 세션 상태를 메모리에 들고 있는 경우 필요하지만, 부하 불균형과 수평 확장 어려움이라는 근본적인 문제를 가진다. 왜 피해야 하는지, 불가피할 때 어떻게 쓰는지 설명한다.