로드밸런서란?

1. 로드밸런서(Load Balancer)

로드밸런서(Load Balancer)는 클라이언트와 서버 그룹 사이에 위치해 서버에 가해지는 트래픽을 여러 대의 서버에 고르게 분신(=밸런싱)하여 특정 서버의 부하(=로드)를 덜어준다. 서버가 하나인데 많은 트래픽이 몰릴 경우 부하를 감당하지 못하고, 서버가 다운되어 서비스가 작동을 멈출 수 있다. 이런 문제를 해결하기 위해서 Scale up(스케일업)과 Scale out(스케일아웃) 방식 중 한 가지를 사용해 해결한다.

그렇다면 로드밸런싱은 모든 경우에 항상 필요할까요?

로드밸런싱은 여러 대의 서버를 두고 서비스를 제공하는 분산 처리 시스템에서 필요한 기술이다.

서비스의 제공 초기단계라면 적은 수의 클라이언트로 인해 서버 한 대로 요청에 응답하는 것이 가능하지만,

사업의 규모가 확장되고, 클라이언트의 수가 늘어나게 되면 기본 서버만으로는 정상적인 서비스가 불가능하다.

이처럼 증가하 트래픽에 대처할 수 있는 방법은 크게 2가지다.

2. 스케일 업과 스케일 아웃

**스케일 업(Scale Up)**은 기존 서버 자체의 성능을 향상시키는 방법으로 이는 CPU나 메모리를 업그레이드하는 것과 같은 작업을 포함한다. 반

**스케일 아웃(Scale Out)**은 존 서버와 동일하거나 낮은 성능의 서버를 두 대 이상 증설하여 운영하는 것과 같다. 즉 트래픽이나 작업을 여러 대의 컴퓨터나 서버에 분산시켜 처리하는 방법이다.

각각의 방법은 장단점이 있어 어떤 방법이 더 적합한지 판단해야 한다.

스케일 업 스케일 아웃
확장성 성능 확장에 한계 존재 지속적 확장이 가능
서버 비용 성능 증가에 따른 비용 증가 폭 큼
일반적으로 비용 부담이 큰 편 비교적 저렴한 서버를 사용하므로, 일반적으로 비용 부담이 적음
관리 편의성​ 스케일 업에 따른 큰 변화 없음 서버 대수가 늘어날수록 관리 편의성 떨어짐
운영 비용 스케일 업에 따른 큰 변화 없음 서버 대수가 늘어날수록 운영 비용 증가
장애 영향 한 대의 서버에 부하가 집중되므로 장애 시 다운 타임 발생 부하가 여러 서버에 분산되어 처리됨으로 장애 시 전면 장애 가능성 적음