본문 바로가기
서버인프라/엔진엑스

[ 제2강 균형조정 ] NGINX 로드 벨런서

by techwold ted 2021. 1. 20.

로드 균형 조정 방법 선택

NGINX 오픈소스는 4가지 로드 밸런싱 방법을 지원 합니다.

 

 

1. 라운드 로빈 : 요청이 서버 가중치를 고려하여 서버 전체에 균등하게 분산됩니다. ( 활성화 하기 위한 지시문 없음 )

upstream backend {
   server backend1.example.com;
   server backend2.example.com;
}

 

2. 최소연결 : 서버 가중치를 고려하여 활성 연결 수가 가장 적은 서버로 요청이 전송됩니다.

upstream backend {
    least_conn;
    server backend1.example.com;
    server backend2.example.com;
}

 

3. IP해시 : 요청이 전송되는 서버는 클라이언트 IP주소에서 결정됩니다.

              이 경우 IPv4 주소의 처음 옥텟 또는 전체 IPv6 주소가 해시 값을 계산하는데 사용됩니다.

              이 방법은 주소의 요청이 사용할 수 없는 경우가 아니면 동일한 서버에 도달 하도록 보장 합니다.

upstream backend {
    ip_hash;
    server backend1.example.com;
    server backend2.example.com;
}

부하 분산 순환에서 서버중 하나를 일시적으로 제거해야하는 경우 down 클라이언트IP 주소의 현재 해싱을 유지하기 위해 매개 변수로 표시 할 수 있습니다. 이 서버에서 처리 할 요청은 그룹의 다음 서버로 자동으로 전송 됩니다.

upstream backend {
    server backend1.example.com;
    server backend2.example.com;
    server backend3.example.com down;
}

 

4. 일반해시 : 요청이 전송되는 서버는 텍스트 문자열, 변수 또는 조합이 될 수 있는 사용자 정의 키에서 결정됩니다. 예를 들어 키는 쌍을 이룬 소스 IP 주소와 포트이거나 다음 예와 같이 URI 일 수 있습니다.

특정 URI 를 받아서 처리할 수 있는 기능 입니다.

upstream backend {
    hash $request_uri consistent;
    server backend1.example.com;
    server backend2.example.com;
}

 

댓글