DNS Round Robin vs Load Balancer
- DNS Round Robin은 웹 서버마다 공인 IP를 할당하여 운영되는 반면에 Load Balancer는 하나의 IP주소에 대해 요청을 복수의 서버로 분산할 수 있다. DNS Round Robin은 별도의 Failover에 대한 처리가 필요하지만 Load Balancer는 내장된 기능으로 처리된다.
Load Balancer
- 동작
: 로드밸런서는 서비스용 공인IP를 가진 가상적인 서버로서 동작한다. 클라이언트로부터 전송되어 온 요청을 Real Server로 중계함으로써 마치 자신이 AP 서버인 것처럼 동작한다.
- 기능
: 로드밸런서는 여러 대의 Real Server중에 한 대를 선택해서 처리를 중계한다. 이 때, 헬스체크가 실패하는 서버는 선택되지 않는다. 따라서 서버 한 대가 정지해 있더라도 정상적으로 가동하고 있는 서버가 있는 한 서비스가 정지하지 않는다.
- 종류
case 1) L4 switch (Layer 4 - 트랜스포트 계층)
: IP 주소나 PORT에 따라 분산대상 서버를 지정한다.
: Linux의 IP Virtual Server(IPVS) 모듈을 이용해서 구성 가능.
L4 구성안 1) Network Address Translation(NAT)
: L4는 요청이 들어오면 수신지 주소(L4 IP)를 선택된 리얼서버 주소로 변경하여 요청을 전송 후 응답이 도착하면 송신지(리얼서버) 주소를 L4 IP로 되돌려서 클라이언트로 전송한다.
L4 구성안 2) Direct Server Return(DSR)
: L4는 요청이 들어오면 선택된 리얼서버로 패킷을 그대로 전송하고 리얼서버는 요청을 처리 후 클라이언트로 Direct로 응답을 전송한다.
: 로드발랜서의 병목이 되는 것을 걱정하거나 높은 트래픽에 견디는 부하분산환경이 필요할 경우 사용한다.
case 2) L7 switch (Layer 7 - 어플리케이션 계층)
: Layer 4 ~ Layer 7까지 패킷을 분석하여 분산대상 서버를 지정한다.
: Reverse Proxy를 이용해서 구성 가능.
Load Balancer - Scheduling Algorithm
- Round-Robin(rr)
: Real Server를 차례로 선택한다. 모든 서버에 균등하게 처리가 분산된다.
- Weighted Round-Robin(wrr)
: 가중치를 가미해서 Round-Robin이 수행된다. 가중치가 높은 서버일수록 빈번하게 선택되므로 처리
- Least-Connection(lc)
: 접속수가 가장 적은 서버를 선택한다.
- Weighted Least-Connection(wlc)
: 가중치를 가미해서 Least-Connection을 수행한다. 고성능 장비에 가중치를 크게하면 효율이 좋다.
- Shorted Expected Delay(sed)
: 가장 응답속도가 빠른 서버를 선택한다. 그렇다고 해도 서버에 패킷을 날려 응답시간을 계측하는 것은 아니다. 상태가 ESTABLISHED인 접속수가 가장 적은 서버를 선택하는 것일 뿐이다. wlc와 거의 동일하게 동작하지만 wlc에서는 ESTABLISHED 이외의 상태(TIME_WAIT, FIN_WAIT 등)인 접속수를 더한다는 점이 다르다.
- Never Queue(nq)
: Shorted Expected Delay와 동일한 알고리즘이지만 ESTABLISHED 접속수가 0인 서버를 최우선으로 선택한다.'server/Infra' 카테고리의 다른 글
DNS Round Robin (0) | 2014.12.17 |
---|---|
용어 (0) | 2014.12.17 |