CS/네트워크

Load Balancing(로드밸런싱)

soo-dal 2024. 1. 8. 21:48

서비스를 하면 여러 대의 서버를 두고 트래픽을 분산시키는데 이 때 활용되는 로드밸런싱에 대해 알아보자.

목차

1. 로드밸런싱 개념

2. 로드밸런싱 장점

3. 로드밸런싱 전략

4. L4, L7 로드밸런싱

5. 정리

 

 

1. 로드밸런싱 개념

서비스는 많은 트래픽을 감당하기 여러 대의 서버를 두어 트래픽을 분산시키는데, 이 트래픽을 여러 대의 서버에 균등하게 분산시키는 프로세스를 로드밸런싱이라한다.

 

 

2. 로드밸런싱 장점

로드밸런싱을 통해 트래픽을 분산시키면 아래와 같은 장점이 있다.

 

1. 성능 향상

트래픽을 여러 서버에 분산시켜 서버에 부하를 줄이기 때문에 성능이 향상된다.

 

2. 가용성 증가

특정 서버에 오류 발생시 로드밸런싱으로 다른 서버가 처리할 수 있도록 변경할 수 있기 때문에 가용성을 높일 수 있다.

여기서 가용성이란 시스템이 장애, 오류 등으로 인해 다운되지 않고 계속해서 서비스를 제공하는 능력을 말한다. 장애, 오류에도 불구하고 서비스가 계속해서 동작한다면 가용성이 높은 것이며, 반대로 장애 등으로 서비스가 바로 동작하지 않는다면 가용성이 낮은 것이다.

 

3. 확장성

서버를 추가하여 시스템의 확장성을 높일 수 있다.

 

 

3. 로드밸런싱 전략

트래픽을 분산 시키는 로드밸런싱도 여러 로직이 존재하며 상황에 맞게 전략을 선택한다. 

로드밸런싱의 여러 전략에 대해 살펴보자

 

1. 라운드로빈

라운드 로빈 방식이란 트래픽을 순서대로 서버에 분산시키는 방식이다. 트래픽을 균등하게 분산시킬 수 있다. 균등하게 분산되니 가장 좋은 방식이네 싶을 수 있는데 상황에 따라 달라진다. 각 서버마다 성능이 다를 수도 있고 각 요청을 처리하는 시간도 달라질 수 있기 때문이다. 

 

2. 가중치 라운드로빈

서버의 성능이 다른 경우 각 서버의 능력에 따라 가중치를 부여하여 트래픽을 가중치에 따라 분산시킨다. 가중치가 높은 서버는 많은 트래픽을 처리하고 가중치가 낮은 서버는 상대적으로 적게 처리한다.

 

3. 최소 연결 

각 서버마다 연결 수가 다를 수 있다. 적게 연결된 서버에 트래픽을 할당하여 부하가 적은 서버에 트래픽을 분배시킨다.

 

4. ip 해시

사용자의 ip 에 따라 서버를 분산시킨다. 동일한 ip 에서 보내는 요청은 같은 서버가 처리하게 된다.

 

 

4. L4, L7 로드밸런싱

로드 밸런싱의 경우 어느 계층에서 처리하느냐고 종류가 구분된다. 

전송 계층에서 사용되는 L4로드밸런싱과 애플리케이션 계층에서 사용되는 L7로드밸런싱이 존재하는데 각 로드밸런싱의 특징과 차이점을 알아보자.

 

L4 로드밸런싱

- 전송 계층에서 수행되는 로드밸런싱

- ip 주소 및 포트 번호를 통해 트래픽을 분배

- 페이로드를 확인하지 않기 때문에 섬세한 트래픽 분배가 불가능. 하지만, 처리 속도가 빠름

 

L7 로드밸런싱

- 애플리케이션 계층에서 수행되는 로드밸런싱

- 페이로드 내부 데이터인 HTTP 헤더, 쿠키 등 클라이언트 요청 내부를 확인하여 트래픽을 분배

- 페이로드 내부를 확인하기 때문에 섬세한 트래픽 분배가 가능. 하지만, 처리 속도가 느림

 

 

5. 정리

1. 로드밸런싱 = 여러 서버에 트래픽을 분배하는 프로세스

2. 특징 - 서버 성능 향상 & 가용성 향상 & 높은 확장성

3. 로드밸런싱 전략 - 라운드로빈 | 가중치 라운드로빈 | 최소 연결 | IP 해시

4. L4 vs L7 로드밸런싱
	L4 로드밸런싱 - 전송계층. ip주소 및 포트 번호를 사용
	L7 로드밸런싱 - 애플리케이션 계층. 페이로드 내부 데이터 활용

 

 

 

[참고 링크]

지수 - Load Balancing 이란?

IBM - 로드밸런싱이란?

AWS - 로드밸런싱이란 무엇인가요?