본문 바로가기

개발바닥/BackEnd

Reverse-Proxy를 통해서 Multi Node Process에 Proxy 처리

upstream ffaso-server {
    ip_hash;
    server localhost:3000;
    server localhost:3001;
}

server {
    access_log /var/log/nginx/reverse-access.log;
    error_log /var/log/nginx/reverse-error.log;
    location / {
        proxy_pass http://example-server;
    }
}

 

Load balancing methods

  • round-robin(디폴트) - 공평하게 돌아가면서 분배
  • hash - 해시한 값으로 분배, 사용하려면 "hash <키>" 형태를 사용
  • ip_hash - 아이피로 해싱하여 분배
  • random - 랜덤 분배
  • least_conn - 연결 수가 가장 적은 서버를 선택해서 분배, 가중치를 고려할 수 있다.
  • least_time - 연결 수가 가장 적으면서 평균 응답시간이 가장 적은 쪽을 선택하여 분배
    참고: http://nginx.org/en/docs/stream/ngx_stream_upstream_module.html

Parameter

  • weight - 가중치를 둬서 더 많이 가도록 설정
  • max_conns - 최대 연결 한계
  • max_fails - 최대 실패 한계, 최대 실패 횟수에 도달하면 서버가 죽은걸로 간주
  • fail_timeout - 시간을 정함. 시간을 넘어선다면 서버가 죽은걸로 간주
  • backup - 백업 서버로 간주하고 다른 메인 서버가 죽을 경우 동작. hash, random 일 경우 무의미
  • down - 표시한 서버는 사용하지 않음

 

'개발바닥 > BackEnd' 카테고리의 다른 글

PM2를 사용하여 Multi-Node 실행  (0) 2021.11.08
무료 SSL인증서 발급 with Let's Encrypt  (0) 2021.11.08
Deno에 대해서 알아보자  (0) 2021.01.08