LoadBalancing

LoadBalancing

로드 밸런싱(Load Balancing)

둘 이상의 CPU or 저장장치와 같은 컴퓨터 자원들에게 작업을 나누는 것

요즘 시대에는 웹사이트에 접속하는 인원이 급격히 늘어나게 되었다.

따라서 이 사람들에 대해 모든 트래픽을 감당하기엔 1대의 서버로는 부족하다. 대응 방안으로 하드웨어의 성능을 올리거나(Scale-up) 여러대의 서버가 나눠서 일하도록 만드는 것(Scale-out)이 있다. 하드웨어 향상 비용이 더욱 비싸기도 하고, 서버가 여러대면 무중단 서비스를 제공하는 환경 구성이 용이하므로 Scale-out이 효과적이다. 이때 여러 서버에게 균등하게 트래픽을 분산시켜주는 것이 바로 로드 밸런싱이다.

로드 밸런서가 서버를 선택하는 방식

로드 밸런서 장애 대비

서버를 분배하는 로드 밸런서에 문제가 생길 수 있기 때문에 로드 밸런서를 이중화하여 대비한다.

몇개층에서 정보를 열어서 분산하는가?

크게 L4로드밸런서와 L7로드밸런서로 나눔

L4 로드밸런서는 4계층 이하의 정보를 가지고 로드를 분산

특히 MAC주소, IP주소, 포트정보를 가지고 트래픽을 분산

L7 로드밸런서는 응용 계층의 정보를 가지고 로드 분산

패킷 내용을 확인하고 분산해서 DDos같은 비정상적인 트래픽도 필터링할 수 있다.

L7 로드밸런싱은 모든 정보를 다 알고 있다.

  • L7: URL기반

L4 로드밸런싱은 L4까지만 보고 요청을 분산 시켜준다

  • L4: port기반
  • L3: IP기반
  • L2: MAC Address기반

원문링크

로드 밸런싱(Load Balancing)