[네트워크] 로드밸런싱 기본 개념

Woonil·6일 전
1

네트워크

목록 보기
5/6

웹 서버에 트래픽이 급증하는 상황에 서버에 부하가 생길 수 있다. 이때 부하를 해결하기 위해 스케일 업(vertical scaling) 또는 스케일 아웃(horizontal scaling)을 수행할 수 있다.

먼저 스케일 업 하기 위해서는 CPU, RAM, HDD 성능 등 서버 자체의 스펙을 높이는 방법을 생각할 수 있다. 하지만 스펙을 늘리는 것만으로는 한계가 있다. 대규모 트래픽을 고려해야 하는 상황에서 스케일 아웃을 고려할 수 있다. 이때, 스케일 아웃하는 주체가 로드 밸런서이다.

로드 밸런서(Load Balancer)란 일반적으로 서버가 받는 부하(load)를 분산해주는 장치 또는 기술을 뜻한다. 보통 서버 상단 네트워크에 위치하며, 서버 한 대에 트래픽이 집중되지 않게 트래픽을 관리하여 각 서버가 최적의 효율을 발휘할 수 있게 도와준다. 즉, 전체 시스템의 성능과 고가용성을 높이는 데 중점을 둔다.

🤔개념

기능

Health Check

서비스의 포트가 열려있는지 상태를 확인한다.

알고리즘에 따른 분산 처리

종류Round RobinRandom SelectLeast ConnectionRatioHash
세션 연결 방식순차적랜덤현재 매핑되어 있는 커넥션이 가장 적은(접속 클라이언트 수가 가장 적은) 서버서버의 성능 차이를 고려한 가중치에 기반특정 기준에 따라고정된 서버
특징연결된 세션이 비교적 오래 사용되지 않는 경우에 채택일반적으로 사용되는 기준은 출발지(클라이언트)의 IP
장점단일 서버의 균일한 트래픽 처리단일 서버의 거의 균일한 트래픽 처리
단점각 서버의 성능은 고려사항이 아님. 가중치 라운드 로빈이 이를 보완하는 방식임.구현의 복잡도 / 커넥션 수 실시간 관리 및 서버로의 주기적 알림 필요

DSR(Direct Server Return)

서버에서 클라이언트로 직접 트래픽(패킷)을 전달하는 것이다.

종류

기준소프트웨어하드웨어
예시HAProxy, reverse proxy, Kubernetes(ingress)L4, L7 스위치
특징일반 서버나 VM, 컨테이너 위에서 동작하므로 환경 제약이 거의 없음어떤 메타데이터를 기반으로 분산을 할 것이냐에 중점
장점설정 파일만 수정하면 트래픽 분배 정책, 방화벽, 라우팅 등을 재구성 가능높은 안정성 및 보안성
단점운영 난이도 증가비싼 구축 비용

SPOF(Single Point of Failure)

하나의 로드 밸런서가 있는 상황에서 해당 로드 밸런서가 죽으면 모든 서버가 다운된다. 따라서 로드 밸런서 자체도 스케일 아웃할 필요가 있다. 즉, 여러 로드 밸런서를 두는 것이다.

profile
프론트 개발과 클라우드 환경에 관심이 많습니다:)

0개의 댓글