Balancing Algorithms

로드 밸런싱 알고리즘은 균등 분배와 실제 부하 사이의 타협이다

서버가 모두 같은 성능이고 요청도 같은 비용이면 단순한 방식이 좋지만, 현실에서는 연결 수와 요청 비용이 계속 달라진다.

Round Robin은 단순하지만 처리 시간 차이를 모른다.
Least Connections는 현재 연결 수를 보고 더 빈 서버를 고른다.
IP hash와 sticky는 세션 유지 대신 불균형 위험을 감수한다.
RR Round Robin 순서대로 분배한다. 동일 스펙 서버에 적합하다.
단순성
WRR Weighted RR 서버 성능 차이를 가중치로 반영한다.
수동 조정
LC Least Connections 현재 연결 수가 적은 서버를 고른다.
동적 부하
Hash IP / Generic Hash 동일 키를 같은 서버로 보내 세션 친화성을 만든다.
불균형 주의
P2C Power of Two 후보 2개 중 더 낮은 부하를 골라 단순성과 균형을 맞춘다.
대규모에 유리
실무 판단 알고리즘보다 중요한 것은 “무엇을 부하로 볼 것인가”다. 연결 수, 응답 시간, 에러율, CPU 사용률 중 어떤 신호를 쓸지 먼저 정해야 한다.