본문 바로가기
언리얼_엔진_게임개발_공부/언리얼 네트워크

서버 부하 분산 - 로드 밸런싱 - L4 / L7 스위치

by jaboy 2025. 3. 11.

서버 하나로 뚝딱뚝딱 만든 게임을 출시해봤는데 이게 웬걸 대박이 났다! (싱글벙글)

--> 사용자 클라이언트에서 서버로 보내는 요청이 엄청 늘어났다.

--> 기존 서버에 과부하가 걸렸다!

이를 해결하기 위해 서버를 증축하고 받는 요청을 여러 개의 서버로 분산시켜야 한다.

이 과정이 궁금한데 강의에서 자세히 다루어지지 않아 더 검색해보기로 했다.

클러스터링 & 로드 밸런싱

서버 클러스터링 Server Clustering : 다수의 서버를 구비해 하나의 시스템처럼 동작하게 한다.

로드 밸런싱 Load Balancing : 사용자 요청을 각각의 서버에 분산한다.

그렇다면 로드 밸런싱은 어떤 방식으로 이루어질까?

(아래 링크를 참고하고 이해한 내용을 정리해본다.)

 

서버 부하 분산 쉽게 이해하기

부하 분산(Load Balancing)이란 말 그대로 처리해야 할 업무 혹은 요청 등을 나누어 처리하는 것을 의미합니다. 회사에서 팀장이 외부로부터 받아 처리해야 할 업무를 팀원에게 나누어 주는 행위 또

aws-hyoh.tistory.com

Round Robin

다수의 서버에 순서대로 요청을 할당한다. 더 이상 설명이 필요 없겠다.

Least Connection

이름 그대로, 가장 적은 수의 사용자-서버 Connection 이 생성된 서버에 요청을 할당한다.

Ratio

각 서버의 처리 능력을 기반으로 미리 작업 할당 비율을 정해놓고 이에 따라 요청을 할당한다. (예: 서버 3대에 2:2:1 비율로 요청 분산 등)

Fastest (Response Time)

이름 그대로, 응답속도가 가장 빠른 서버에 우선 요청을 할당한다.

이 때, 서버에 할당된 Connection 수와 Response 수를 고려하여 추가 요청 처리가 가능한지 먼저 판단한다.

서버에서 보내오는 Response 수가 할당된 Connection 수보다 적은 경우 현재 응답 속도가 부족하다고 판단하여 추가 요청을 해당 서버에 할당하지 않는다.

 

* 위에서 말하는 Connection 이란, 클라이언트와 서버 간 Handshake 로 논리적 연결이 생성되었음을 나타낸다.

 

L4/L7 스위치

로드 밸런싱을 담당하는 대표적인 장비로 L4/L7 스위치가 있다.

 

L4 스위치

 

L4 스위치 쉽게 이해하기 #1(L4 스위치의 개요와 역할)

이번 문서 'L4 스위치 쉽기 이해하기'와 '서버 부하 분산 쉽게 이해하기', 다음에 이어질 문서인 'L4/L7 로드밸런싱 쉽게 이해하기'는 L4/L7 Network Swtich인 'F5 Networks' 장비를 기준으로 설명합니다. Alteo

aws-hyoh.tistory.com

 

- 서버-클라이언트 간 Connection 이 생성 / 삭제되면 L4 스위치 또한 Connection 을 생성 / 삭제한다.

- Connection time out 을 관리하여 일정 시간 사용되지 않은 커넥션을 삭제하고, 필요 시 Reset 플래그를 패킷에 담는다.

- IP와 Port 번호로 트래픽을 분배, 즉 로드 밸런싱한다. (OSI Model 기준 포트로 논리적 연결을 생성하는 계층이 Layer 4이다. 따라서 L4 스위치)

- 사용자가 직접 접근하는 어플리케이션 계층 Layer 7 까지 제어할 수 있다. (L4 virtual server, L7 virtual server)

 

L7 로드 밸런싱

 

L4/L7 로드밸런싱 쉽게 이해하기

이번 문서 'L4/L7 로드밸런싱 쉽게 이해하기'와 '서버 부하 분산 쉽게 이해하기', 'L4 스위치 쉽게 이해하기'는 L4/L7 Network Swtich인 'F5 Networks' 장비를 기준으로 설명합니다. Alteon(Radware), Brocade, Cisco, Pi

aws-hyoh.tistory.com

 

- Layer 7 에서는 HTTP, FTP, SMTP, DNS 등의 프로토콜 헤더로 사용자의 네트워크 서비스 접근을 담당한다.

- L4 스위치는 이 L7 프로토콜 헤더를 조작 / 활용해 로드 밸런싱을 할 수 있다.

- 예를 들어 HTTP 의 경우 TCP 기반이므로 Layer 4에서 TCP로 프로토콜을 정의하고 장비 셋업에서 Layer 7 프로파일을 HTTP 로 설정하면 헤더를 해석하여 데이터 기반으로 로드 밸런싱 한다 (는 것 같다).

 

 

어렵다...

그래도 로드 밸런싱이 어떤 과정으로 이루어지고, 왜 L4/L7 스위치라고 불리는지 알게 되었고, L4 스위치가 선택적으로 L7 프로토콜 기반 로드 밸런싱 한다는 것까지는 알게 된 것 같다.