1. 로드 밸런싱(Load Balancing) 이란?

하나의 인터넷 서비스가 발생하는 트래픽이 많을 때 여러 대의 서버가 분산처리하여 서버의 로드율 증가, 부하량, 속도저하 등을 고려하여 적절히 분산처리하여 해결해주는 서비스

https://camo.githubusercontent.com/b59f02d63a1372b35abffa94e241b9b8d27447f3/68747470733a2f2f7777772e6564756361746976652e696f2f6170692f636f6c6c656374696f6e2f353636383633393130313431393532302f353634393035303232353334343531322f706167652f353734373937363230373037333238302f696d6167652f353639363435393134383039393538342e706e67

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

하지만 사업의 규모가 확장되고, 클라이언트의 수가 늘어나게 되면 모든 트래픽을 감당하기엔 1대의 서버로는 정상적인 서비스가 불가능하게 됩니다.

1) 대응 방안

https://post-phinf.pstatic.net/MjAxOTEyMTBfMjk1/MDAxNTc1OTU1MDI2NTY4.Zxj8nWGb6G6jtHDAZPPDf-dPZnpb_hsd7ydWw5lW7vAg.AucOXPJnmLyGiHr8KpVD9Dsy59FsWv5p7qJnSyW_YFAg.JPEG/로드밸런싱_스케일.jpg?type=w1200

2) Scale-out의 장점

2. 로드 밸런서가 서버를 선택하는 방식

1) 라운드로빈 방식(Round Robin Method)

서버에 들어온 요청을 순서대로 돌아가며 배정하는 방식입니다. 클라이언트의 요청을 순서대로 분배하기 때문에 여러 대의 서버가 동일한 스펙을 갖고 있고, 서버와의 연결(세션)이 오래 지속되지 않는 경우에 활용하기 적합합니다.

2) 가중 라운드로빈 방식(Weighted Round Robin Method)

각각의 서버마다 가중치를 매기고 가중치가 높은 서버에 클라이언트 요청을 우선적으로 배분합니다. 주로 서버의 트래픽 처리 능력이 상이한 경우 사용되는 부하 분산 방식입니다. 예를 들어 A라는 서버가 5라는 가중치를 갖고 B라는 서버가 2라는 가중치를 갖는다면, 로드밸런서는 라운드로빈 방식으로 A 서버에 5개 B 서버에 2개의 요청을 전달합니다.