1. 미들웨어이야기/04. Nginx

Nginx 다중 백엔드 설정

알 수 없는 사용자 2014. 7. 28. 16:26

 

작은사이트에서는 하나의 백엔드 프로세스(WAS)만 있으면 유입되는 모든 트래픽을 처리하는데 충분합니다. 하지만 사용자가 점점 증가를 함에따라 다중 백엔드 설정이 필요한데 그 방법에 대해서 알아보도록 하겠습니다.

 

upstream backend {
    server ktds.com:8280;

    # 10초동안 한번의 에러가 발생하면 작동하지 않는 서버로 간주.

    server ktds.com:8080            weight=5;

    # 백엔드 서버에 대한 가중치 설정.
    server ktds.com:8180            max_fails=3 fail_timeout=30s;

    # 30초동안 3번의 요청 실패가 발생하면 이 서버는 작동하지 않는 서버로 간주.

    server ktds.com:8280            backup;

    server ktds.com:8380            backup;

    # primary서버가 사용불가시 backup서버에서 요청을 수행합니다.
}

server {

    location / {

        proxy_pass http://backend;

        health_check;

    }

}

 

 

서버로 보내는 모든 요청은 라운드로빈(round-robin) 방식으로 백엔드 서버에 전달이 됩니다.

 

weight=number

    백엔드 서버에 대한 가중치 설정

    기본 설정값 = 1

 

max_fails=number

    요청실패회수에 대해서 임계치를 지정을 하고, 해당 회수에 도달하면 작동하지 않는 서버로 간주

    기본 설정값 = 1

 

max_timeout=number

    설정한 시간동안 요청이 성공을 하지 못할 경우 작동하지 않는 서버로 간주

    기본 설정값 = 10s

   

backup

    primary서버가 사용불가시 backup서버에서 요청을 수행합니다.

 

 

by. 김현수(7월)