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

[ 제1강 HTTP 부하분산 ] NGINX 로드 벨런서

by techwold ted 2021. 1. 20.

HTTP 트래픽을 서버 그룹에 프록시

NGINX Plus 또는 NGINX Open Source 를 사용하여 HTTP 트래픽 서버 그룹으로 로드 균형을 조정하려면 먼저 upstream 지시문을 사용하여 그룹을 정의 하여야 합니다.

쉽게 upstream 지시문을 사용하여 그룹을 정의하고 사용하면 된다. 라고 생각하면 됩니다.

그러면, upstream 지시문을 어떻게 생성하냐????

 

아래와 같이!! http 블록안에 upstream 블록을 생성 합니다.

http {
    upstream backend {
        server backend1.example.com;
        server backend2.example.com;
        server 127.0.0.1 backup;
    }
}

그리고, 위 그룹의 요청을 전달 하려면 proxy_pass 지시자를 사용하여 전달 합니다.

다음과 같이 전달 하면 됩니다.

server {
    location / {
        proxy_pass http://backend;
    }
}

그러면 아래와 같은 구조로 Nginx config가 실행됨을 알 수 있습니다.

해당 구조는 Nginx의 기본 알고리즘으로 R-R ( Round Robin ) 을 사용합니다.

http {
    upstream backend {
        server backend1.example.com;
        server backend2.example.com;
        server 127.0.0.1 backup;
    }
    
    server {
        location / {
            proxy_pass http://backend;
        }
    }
}

 

댓글