로드밸런서, 왜 필요할까
서비스를 운영하다 보면 서버 한 대로는 트래픽을 감당하기 어려운 순간이 옵니다. 이때 여러 대의 서버에 요청을 골고루 분산시켜주는 장치가 바로 로드밸런서입니다. 로드밸런서는 클라이언트와 서버 사이에서 트래픽을 어느 서버로 보낼지 결정하는 역할을 하는데, 이 결정을 어느 네트워크 계층에서 내리느냐에 따라 L4와 L7로 나뉩니다. 여기서 L4, L7은 OSI 7계층 모델의 4계층(전송 계층)과 7계층(애플리케이션 계층)을 의미합니다.
L4와 L7, 무엇을 보고 트래픽을 나누나
L4 로드밸런서는 IP 주소와 포트 번호, TCP/UDP 같은 전송 계층 정보만 보고 트래픽을 분산합니다. 패킷의 내용(HTTP 헤더, URL, 쿠키 등)은 확인하지 않고 단순히 이 IP와 포트로 온 요청을 어느 서버로 보낼지만 결정하기 때문에 처리 속도가 빠르고 구조가 단순합니다.
반면 L7 로드밸런서는 애플리케이션 계층까지 패킷을 열어봅니다. HTTP 요청의 URL 경로,