❗LoadBalancing이란?

여러 서버나 네트워크 장치로 들어오는 트래픽을 효율적으로 분산시켜 시스템의 성능, 안정성, 확장성을 향상시키는 기술이다. 이는 서버의 과부하를 방지하고 서비스의 가용성을 보장하는 데 중요한 역할을 한다.로드밸런싱은 다양한 방법과 기술을 사용하여 구현되며 주로 웹 서버, 애플리케이션 서버, 데이터베이스 서버 등에서 많이 사용된다.

 

❗로드밸런싱 알고리즘

 

  1. 라운드 로빈(Round Robin):
    • 가장 기본적인 알고리즘으로, 각 서버에 순서대로 트래픽을 배분하는 방식
    • 구현이 간단하고 모든 서버에 고르게 트래픽이 분배됨
    • 서버의 성능 차이를 고려하지 않기 때문에 고성능 서버가 충분히 활용되지 못할 수 있음
  2. 가중치 라운드 로빈(Weighted Round Robin):
    • 서버의 성능에 따라 가중치를 부여한 후 트래픽을 분배하는 방식
    • 고성능 서버에는 더 많은 트래픽을, 저성능 서버에는 적은 트래픽을 할당
  3. 최소 연결(Least Connections):
    • 현재 연결된 클라이언트 수가 가장 적은 서버로 트래픽을 분배
    • 서버의 부하 상태를 실시간으로 모니터링하여 분배하므로 트래픽이 균등하게 처리됨
  4. 최소 응답 시간(Least Response Time):
    • 응답 시간이 가장 빠른 서버로 트래픽을 분배하는 방식
    • 응답 속도를 기준으로 서버의 부하를 예측할 수 있기 때문에 사용자의 대기 시간을 줄일 수 있음
  5. IP 해시(IP Hash):
    • 클라이언트의 IP 주소를 해시로 변환하여 특정 서버에 고정적으로 트래픽을 보내는 방식
    • 클라이언트가 항상 같은 서버에 연결되기 때문에 세션 유지가 필요한 경우에 유리

 

❗네트워크 레이어와 로드밸런서 종류

 

  1. L4 로드밸런서
    • 전송 계층에서 이루어짐
    • TCP/UDP 트래픽을 처리하며 IP 주소와 포트 정보를 기반으로 트래픽을 분배
  2. L7 로드밸런서 
    • 애플리케이션 계층에서 이루어짐
    • HTTP/HTTPS 로드밸런싱
      • 클라이언트가 웹 브라우저에서 HTTP 또는 HTTPS 요청을 보낼 때 로드밸런서가 요청을 분석하고 서버로 분배
      • 로드밸런서는 HTTP 헤더, URI, 쿠키, SSL 정보 등 요청의 세부 내용을 바탕으로 특정 서버로 트래픽을 라우팅할 수 있음
      • Nginx, HAProxy 같은 소프트웨어가 이를 담당
      • 세밀한 트래픽 분산: 개별 서버로의 트래픽 분산을 최적화할 수 있음
    • DNS 기반 로드밸런싱
      • 클라이언트가 도메인 네임을 통해 요청을 보낼 때 DNS 서버가 여러 IP 주소를 반환해 트래픽을 분산
      • 클라이언트는 반환된 IP 주소 중 하나로 접속
      • 글로벌 트래픽 분산: 지리적 위치 또는 서버 부하에 따라 사용자를 가까운 서버로 연결시켜 네트워크 지연을 줄임
    • DNS 기반 로드밸런싱으로 1차, HTTP/HTTPS 로드밸런싱으로 2차 트래픽 분산을 통해 동시 사용도 가능
    • 현재 로드밸런서는 대부분 L7에서 작동

 

 

728x90
반응형

'🔻Computer Science > Network' 카테고리의 다른 글

[Network] DNS  (0) 2024.10.28
_니지