Load Balancer 가 뭔가요?
1000명 이상의 사용자가 서버로 어떠한 요청을 보낼 때 1대의 서버로는 모든 요청을 처리하는데 한계가 있겠지요.
따라서 여러 대의 서버로 요청을 분담하여 처리해야 하는데, 사용자는 각 서버의 IP 주소를 모르며, "tistory.com" 이라는 URL 주소만 알고있습니다.
tistory.com ( 10.123.24.54 LB의 IP) |
192.168.10.10 |
192.168.12.22 | |
192.168.11.15 |
그러므로 "tistory.com" URL 주소와 각 서버의 IP 를 묶어주는 역할이 필요한데,
LB는 자신의 IP를 "tistory.com" 도메인과 연동하여 자신이 수신하는 모든 요청을 각 서버에게 자동으로 분산합니다.
(정확히 말하자면 "tistory.com" 을 LB의 IP 로 변환해주는 동작은 DNS Server가 처리하며, LB는 서버에게 요청을 전달하는 동작을 수행합니다. )
따라서, LB를 사용하면 서버를 안정적으로 운용할 수 있습니다.
LB는 대충 아래와 같은 구조로 사용됩니다.
어떻게 자동으로 분산할 수 있나요?
로드밸런싱 알고리즘을 통해 요청을 자동으로 분산할 수 있습니다.
로드밸런싱 알고리즘
- Round Robin
- IP Hash
- Least Connection ( Least Outstanding Requests )
이외에도 여러가지 알고리즘이 있지만, 대표적으로 사용되는 3가지의 알고리즘을 알아보겠습니다.
Round Robin
Round Robin 방식은 요청의 종류,크기와 관계없이 각 서버에 순서대로 한 번씩 요청을 분산합니다.
IP Hash
IP Hash 방식은 요청 패킷의 출발지 IP/Port , 목적지 IP/Port , 프로토콜 종류를 조합하여 해시값을 만든 후,
해당 해시값과 일치하는 서버에게 분산합니다.
Least Connection
Least Connection 방식은 서버중 현재 요청을 가장 적게 처리하고 있는 서버에 분산합니다.
'📡Network' 카테고리의 다른 글
IP Class , NAT (0) | 2022.08.14 |
---|---|
IP (0) | 2022.08.14 |
IPtables (0) | 2022.08.13 |