Web/Network

[Network] 로드 밸런싱(Load Balancing), 스케일 아웃(Scale out), 스케일 업(Scale up)

생각많은 프로그래머 2024. 2. 22. 16:49

 

이용자가 확장되고 사업의 규모 역시

확장되면서 점차 많은 트래픽을 받는 인프라를

구성하는 방법을 고민해 보았다면,

아래 3가지 개념을 숙지하고 있는 것이 좋다.

 

먼저, 로드 밸런싱(Load Balancing)

네트워크나 애플리케이션 서버 등에서 발생하는 트래픽을

여러 대의 서버나 네트워크 장치로 분산시켜서

부하를 균형있게 분산시키는 기술이다.

 

이를 통해 단일 서버에 가해지는 부하를 분산시켜

서버의 가용성과 성능을 향상시킬 수 있다.

 

부하 분산을 위해서는 L4, L7 스위치와 같은

네트워크 장비나 엔진엑스(Nginx) 같은 소프트웨어를

사용하여 서버를 구성한다. 이렇게 하면 부하가 

분산되는 효과 외에도 스케일 아웃*하기 좋은 

환경이 되기 때문이다. 

 

또한 수평적으로 확장할 수 있어 들어오는 트래픽이

늘어나는 상황에도 대응하기 수월하다는 장점이 있다.

 

스케일 아웃(Scale out)이란,

로드 밸런싱이 가능한 환경에서 비교적 쉽게

구성할 수 있는 확장 방법이다.

서버를 여러 대 추가하여 시스템을 확장하는 것을

말하며, 서버가 여러 대로 나뉘기 때문에

각 서버에 걸리는 부하를 균등하게 해주는

'로드 밸런싱'이 필수적으로 동반되어야 한다. 

 

스케일 아웃을 무중단으로 배포될 수 있는

환경을 구성하는 것이 일반적이다. 

 

인프라 확장과 관련하여 

스케일 업(Scale up)도 중요한 개념이다.

 

스케일 업이란 기존 서버의 사양을 

업그레이드해 시스템을 확장하는 것을 말한다.

 

CPU나 RAM 등을 추가하거나 고성능의 부품, 

서버로 교환하는 방법으로, 하나의 서버의 사양을

업그레이드하기 때문에 수직 스케일로 불린다.