Post

로드 밸런싱

로드 밸런싱

로드 밸런싱

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

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

따라서 이 사람들에 대해 모든 트래픽을 감당하기엔 1대의 서버로는 부족하다.

대응 방안으로 하드웨어의 성능을 올리거나(Scale-up) 여러대의 서버가 나눠서 일하도록 만드는 것(Scale-out)이 있다.

하드웨어 향상 비용이 더욱 비싸기도 하고, 서버가 여러 대 존재하면 무중단 서비스를 제공하는 환경 구성이 용이하므로 Scale-out이 효과적이다.

이때, 여러 서버에게 균등하게 트래픽을 분산시켜주는 것이 바로 로드 밸런싱이다.

Scale-up : Server가 더 빠르게 동작하기 위해 하드웨어의 성능을 올리는 방법.

Scale-out : 하나의 Server보다는 여러 대의 Server가 나눠서 일을 하는 방법.

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

  • 라운드 로빈 : CPU 스케줄링의 라운드 로빈 방식 활용
  • Least Connections : 연결 갯수가 가장 적은 서버 선택(트래픽으로 인해 세션이 길어지는 경우 권장)
  • Source : 사용자 IP를 해싱하여 분배(특정 사용자가 항상 같은 서버로 연결되는 것을 보장)

로드 밸런서 장애 대비

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

  • Active 상태
  • Passive 상태

참고 - 조금 더 깊게 보면 좋은 내용들

로드 밸런서(Load Balancer)란?

MIT 라이선스에 따른 출처 표기

This post is licensed under CC BY 4.0 by the author.