>  기사  >  운영 및 유지보수  >  nginx에서 로드 밸런싱 폴링 구성을 구현하는 방법

nginx에서 로드 밸런싱 폴링 구성을 구현하는 방법

PHPz
PHPz앞으로
2023-05-18 17:58:212230검색

1. 개요

Nginx의 업스트림은 현재 할당 알고리즘을 지원합니다.
1. 요청을 차례로 처리하기 위한 1:1 라운드 로빈 폴링(기본값)
각 요청은 애플리케이션의 경우 하나씩 다른 애플리케이션 서버에 할당됩니다. 서버가 Down되면 자동으로 제거되고 나머지는 계속해서 폴링됩니다.
2. 가중치 가중치(가중 폴링)
가중치를 구성하여 폴링 확률을 지정하며 가중치는 액세스 비율에 비례하며 고르지 못한 애플리케이션 서버 성능에 사용됩니다.
3. ip_hash 해시 알고리즘
각 요청은 접속한 IP의 해시 결과에 따라 할당되므로 각 방문자는 애플리케이션 서버에 대한 고정된 액세스 권한을 갖게 되어 세션 공유 문제를 해결할 수 있습니다. 애플리케이션 서버에 오류가 발생하면 수동으로 종료해야 합니다.
매개변수 의미:
down: 이전 서버가 일시적으로 로드에 참여하지 않음을 나타냅니다.
weight: 기본값은 1입니다. 가중치가 클수록 로드의 무게도 커집니다.
max_fails: 허용되는 요청 실패 횟수는 기본적으로 1입니다. 최대 횟수를 초과하면 Proxy_next_upstream 모듈에서 정의한 오류가 반환됩니다.
fail_timeout: max_fails 실패 후 일시 중지 시간입니다.
백업: 백업이 아닌 다른 머신이 모두 다운되거나 사용 중일 때 백업 머신을 요청하세요.

2. 구성

nginx에서 로드 밸런싱 폴링 구성을 구현하는 방법

nginx에서 로드 밸런싱 폴링 구성을 구현하는 방법

1. 라운드 로빈 폴링(기본값)

upstream tg-t4 {
    server 10.0.0.110:8099;
    server 10.0.0.110:8098;
}
server {
    listen 8096;
    server_name www.tg-t4.com;
    location / {
    proxy_pass http://tg-t4;
    }
}

액세스 결과: ABABABABA

2. 액세스 결과: ABBABB ABBABB

영향을 받음 액세스 결과는 이상적인 상태가 아닌 최소 비율을 기준으로 계산됩니다. AABBBBB AABBBBB

3, ip_hash

upstream tg-t4 {
    server 10.0.0.110:8099 weight=2;
    server 10.0.0.110:8098 weight=5;
}
server {
    listen 8096;
    server_name www.tg-t4.com;
    location / {
    proxy_pass http://tg-t4;
    }
}

액세스 결과:

IP1:AAAAAA

IP2:BBBBBB

4, 상시 대기

upstream tg-t4 {
    server 10.0.0.110:8099;
    server 10.0.0.110:8098;
    ip_hash;
}
server {
    listen 8096;
    server_name www.tg-t4.com;
    location / {
    proxy_pass http://tg-t4;
    }
}

액세스 결과:

방문 1: 두 서비스 모두 정상입니다. AAAAAA

액세스 2: 비활성화됨 10.0.0.110:8099. BBBBBB

액세스 3: 10.0.0.110:8099를 다시 시작하세요. AAAAAA

5. 매개변수 최적화

upstream tg-t4 {
    server 10.0.0.110:8099;
    server 10.0.0.110:8098 backup;
}

server {
    listen 8096;
    server_name www.tg-t4.com;
    location / {
    proxy_pass http://tg-t4;
    }
}

액세스 결과: 4

와 동일합니다. 이 매개변수가 설정되면 해당 서비스는 핫 백업으로만 사용할 수 있습니다.

위 내용은 nginx에서 로드 밸런싱 폴링 구성을 구현하는 방법의 상세 내용입니다. 자세한 내용은 PHP 중국어 웹사이트의 기타 관련 기사를 참조하세요!

성명:
이 기사는 yisu.com에서 복제됩니다. 침해가 있는 경우 admin@php.cn으로 문의하시기 바랍니다. 삭제