본문 바로가기
서버/서버이론

[Server] 로드 밸런싱이란?

by 코딩히어로 2022. 1. 3.
728x90

로드 밸런싱이란 서버를 구축하고 관리하다 보면 한 번쯤 마주하게 되는

작은 규모의 서버에서는 볼일이 없겠지만 사용자수가 많고 트래픽이 많은

중대형의 서버에서는 꼭 알아야 하는 개념입니다.

 

로드밸런싱은 컴퓨터 네트워크 기술로 중앙처리장치와 같은 컴퓨터 자원에게

작업을 분산하는 것을 의미합니다.

 

여기서 중요한 핵심이 바로 작업을 분산한다입니다.

자 그럼 이러한 작업을 분산하는 로드밸런싱이라는 것이 어떻게 사용되는지

어떤 개념인지에 대해 자세히 알아보도록 하겠습니다.

 

 

1. 트래픽 분산의 개념


단일 서버를 먼저 생각해보면 다음 그림은 서버와 DB의 1차적 구조입니다.

먼저도 이야기했듯이 소규모의 서버에서는 위와 같은 구조가 특별히 문제 될 것이 없습니다.

하지만 트래픽이 엄청나게 많이 발생하는 서버라고 한다면 어떻게 될까요?

아마도 위 그림처럼 서버로 트래픽량이 증가할 것이고 서버 혼자 감당할 수 있는

트래픽 이상이 오버되면 결국 서버가 다운되는 증상까지 발생하게 됩니다.

 

여기서 간단하게 트래픽을 분산시킬 수 있는 방법이 바로 로드밸런싱입니다.

즉 위 개념처럼 작업이 트래픽이 되는 것이고

 

작업을 분산시킨다 == 트래픽을 분산시킨다

 

라는 의미로 사용될 수 있습니다.

 

예를 들어 서버로 들어오는 트래픽은 이제 로드밸런싱을 사용하면서는

서버로 직접적인 접근은 하지 않고 로드밸런서로 접속되며 이 접속된 트래픽을

로드밸런싱이 연결된 서버의 상태를 체크하여 좀 더 여유 있는 쪽으로 전달합니다.

즉 트래픽 분산의 주차 게 바로 로드밸런서가 됩니다.

 

 

2. 로드밸런서 종류


이러한 분산작업을 해주는 로드밸런서는 크게 4가지로 나눌 수 있습니다.

 

1. L2

Mac 주소를 바탕으로 로드 밸런싱을 진행

 

2. L3

IP주소를 바탕으로 로드 밸런싱을 진행

 

3. L4

IP와 Port를 바탕으로 로드 밸런싱을 진행

UDP, TCP

 

4. L7

Application Layer Level에서 로드 밸런싱을 진행

Http, Https, ftp

 

 

로드 밸런서 서버 선택 시 동작 기능은 아래와 같습니다.

 

1. Round Robin 방식

단순히 Round Robin으로 계산하여 분산합니다.

 

2. Least Connection

연결 개수가 적은 서버를 선택합니다.

트래픽으로 인해 세션이 길어지는 경우에 권장됩니다.

 

3. Source

사용자의 IP를 hashing 하여 분배합니다.

사용자는 항상 같은 서버로 연결됩니다.


로드밸런싱은 트래픽이 증가하는 시점에 선택이 아닌 필수입니다.

그렇기에 추후 트래픽이 증가할 거라고 한다면 미리 설계에 대비를 해놓고

서버를 구성하는 것도 좋은 방법입니다.

728x90
반응형

'서버 > 서버이론' 카테고리의 다른 글

[Server] 리눅스 소켓이란?  (7) 2022.01.13
[Server] 트랜잭션이란?  (4) 2022.01.07
[Server] FCM이란?  (1) 2021.12.12
[Server] MQTT 서버란?  (0) 2021.03.09
[Server] 서버 어디에 구축할것인가  (0) 2020.10.14

댓글