Knowledge

[Knowledge] 로드밸런싱이란? Load Balancing

Jeong Jeon
반응형

 

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

 

네트워크 기술의 일종인 로드밸런싱이라고 하는 부하분산은 중앙처리장치 또는 저장장치와 같은 컴퓨터 자원들에게 작업을 분산하는 것을 의미한다.

 

서버에 가해지는 부하(로드) 를 분산(밸런싱) 해주는 기술이라고 알고있으면 된다.

클라이언트의 수가 증가하게 되서 기존 서비스를 정상적으로 제공하기 힘들어졌을때, Scale out을 하거나, Scale up을 하게된다.

이때 Scale out 방식은 여러대의 서버로 트래픽을 균등하게 분산하는 로드 밸런싱이 반드시 필요하다. 

 

1-1). 주요 기능

  • NAT(Network Address Translation)
    • 사설 IP 주소를 공인 IP 주소로 바꾸는 데 사용하는 통신망의 주소 변조기
  • Tunneling
    • 인터넷상에서 눈에 보이지 않는 통로를 만들어 통신할 수 있게 하는 개념
    • 데이터를 캡슐화해서 연결된 상호 간에만 캡슐화된 패킷을 구별해 캡슐화를 해제할 수 있다.
  • DSR(Dynamic Source Routing protocol)
    • 로드 밸런서 사용 시 서버에서 클라이언트로 되돌아가는 경우 목적지 주소를 스위치의 IP 주소가 아닌 클라이언트의 IP 주소로 전달해서 네트워크 스위치를 거치지 않고 바로 클라이언트를 찾아가는 개념

 

2). Load Balacer 종류 

 

2-1). L2 : Mac주소를 바탕으로 Load Balancing

2-2). L3 : IP주소를 바탕으로 Load Balancing

2-3). L4 : Transport Layer(IP와 Port) Level에서 Load Balancing =>  TCP/UDP

2-4). L7 : Application Layer (사용자 Request) Level에서 Load Balancing => Http, Https, ftp 

 

3). Load Balancer의 Server 선택 기준.

3-1). Round Robin => 단순히 round robin으로 분산

- 라운드 로빈 스케줄링(Round Robin Scheduling, RR)은 시분할 시스템을 위해 설계된 선점형 스케줄링의 하나로서, 프로세스들 사이에 우선순위를 두지 않고, 순서대로 시간단위(Time Quantum/Slice)로 CPU를 할당하는 방식의 CPU 스케줄링 알고리즘

3-2). Least Connection

- 이름처럼 연결개수가 가장 적은 서버를 선택.

- 트래픽으로 인해 세션이 길어지는 경우 권장

 

3-3). Source

- 사용자의 IP를 hashing하여 분배하는 방식

- 사용자는 항상 같은 서버로 연결되는 것을 보장 

 

 

반응형