이것저것 개발기록

서버가 터지지 않게! 로드 밸런싱(Load Balancing)의 기초 본문

IT 이야기

서버가 터지지 않게! 로드 밸런싱(Load Balancing)의 기초

Garam Kim 2025. 12. 28. 12:00

"사용자가 갑자기 몰리면 서버는 어떻게 버틸까요?"
컴퓨터 한 대의 성능을 높이는 것(Scale-up)에는 한계가 있습니다. 여러 대의 서버로 부하를 나누는 로드 밸런싱에 대해 알아봅시다.

1. 로드 밸런서의 역할

로드 밸런서는 클라이언트와 서버 풀(Server Pool) 사이에 위치하여, 유입되는 트래픽을 여러 서버로 분산해주는 장치입니다. 서비스의 가용성을 높이고 무중단 배포를 가능하게 하는 핵심 인프라죠.

2. 주요 분산 알고리즘

  • Round Robin (라운드 로빈): 순서대로 돌아가며 요청을 할당합니다. 가장 단순합니다.
  • Least Connections: 현재 연결 수가 가장 적은 서버로 우선 보냅니다.
  • IP Hash: 클라이언트의 IP를 해싱하여 특정 서버로 연결합니다. 세션 유지에 유리합니다.

💡 실무 노트

실무에서 로드 밸런싱을 도입할 때 가장 먼저 마주치는 문제는 '세션 공유'입니다. A 서버에 로그인했는데 다음 요청이 B 서버로 가면 로그인이 풀려버리거든요.

팁: 이를 해결하기 위해 Sticky Session을 쓰기도 하지만, 최근에는 Redis 같은 외부 세션 스토리지를 두거나 JWT를 활용해 서버가 세션을 직접 들고 있지 않게 설계하는 방식을 더 선호합니다.