둘 이상의 CPU or 저장장치와 같은 컴퓨터 자원들에게 작업을 나누는 것 .
로드밸런싱으로 부하 분산을 통해 가용성
및 응답시간
을 최적화시킬 수 있다.
예를들어, 블랙프라이데이와 같이 특정 시점에 한 웹사이트로 트래픽
이 평소보다 엄청나게 증가한다면, 문제가 발생할 수 있다.
이런 트래픽을 예측하고 감당하기 위해 서비스를 제공하는 측에서 미리 서버와 네트워크를 증설한다.
Scale-Up 작업은 한계가 있으므로 Scale-Out방식을 택한다
이때, 여러 서버들로 대규모의 트래픽을 분산 처리 시켜주기 위해 Load Balancing
을 하는 것이다.
Scale Up : HW의 성능을 향상시켜서 서버의 성능을 올리는것. 하지만, 비용이 많이 든다
Scalue Out : 서버의 대수를 늘려 처리능력을 향상시키는 것. 하지만, Scale Out 작업을 해도 Load Balancer가 없다면 하나의 서버로 트래픽이 몰리는 현상이 여전히 발생할 수 있다.
NAT(Network Address Translation) : Private IP -> Public Ip로 변조
Tunneling : 데이터를 캡슐화하여 연결된 노드만 캡슐을 해제할 수 있게 만듦
DSR(Dynamic Source Routing Protocol) : 요청에 대한 응답을 할 때 Load Balancer가 아닌 클라이언트의 IP로 전송
위 예시에서는 사용자가 서버에 서비스를 요청할 때 중간에서 Load Balancer가 NAT를 통해 IP / MAC 주소를 변조한다.