> 운영 및 유지보수 > 엔진스 > nginx의 로드 밸런싱 알고리즘은 무엇입니까?

nginx의 로드 밸런싱 알고리즘은 무엇입니까?

(*-*)浩
풀어 주다: 2019-11-02 09:41:42
원래의
6428명이 탐색했습니다.

nginx의 로드 밸런싱 알고리즘은 무엇입니까?

Nginx 지원 로드 밸런싱 스케줄링 알고리즘

1.라운드 로빈(기본) (권장 학습: nginx tutorial)

폴링 방식, 각 백그라운드 서버에 요청을 차례로 할당, 기본 로드 밸런싱 방식 .

백그라운드 머신 성능이 일관된 상황에 적용됩니다.

다운 머신은 서비스 목록에서 자동으로 제거될 수 있습니다.

2.weight

요청을 가중치에 따라 여러 머신에 분배하고, 폴링 확률을 지정하며, 가중치는 액세스 비율에 비례하며, 백엔드 서버의 성능이 고르지 않은 경우에 사용됩니다.

예:

upstream bakend {    
server 192.168.0.14 weight=10;    
server 192.168.0.15 weight=10;    
}
로그인 후 복사

3. IP_hash

는 요청자 IP의 해시 값에 따라 백그라운드 서버로 요청을 보냅니다. 이를 통해 동일한 IP의 요청이 고정된 시스템으로 전송되도록 할 수 있습니다. 세션 문제를 해결하세요.

예:

upstream bakend {    
ip_hash;    
server 192.168.0.14:88;    
server 192.168.0.15:80;    
}
로그인 후 복사

4.url_hash(제3자)

요청한 URL의 해시 값에 따라 요청을 여러 머신으로 나누는 것이 백그라운드 서버에 캐시되어 있을 때 효율적입니다.

예:

해시 문을 업스트림에 추가합니다. 가중치와 같은 다른 매개변수는 서버 문에 쓸 수 없습니다. hash_method는 사용되는 해시 알고리즘입니다.

upstream baking 로드 밸런싱 장비 로드 밸런싱을 사용해야 하는 서버에 IP 및 장치 상태

upstream backend {    
server squid1:3128;    
server squid2:3128;    
hash $request_uri;    
hash_method crc32;    
}
로그인 후 복사

를 추가합니다. 각 장치의 상태는 다음과 같이 설정됩니다.


1.down은 이전 서버가 일시적으로 작동하지 않음을 의미합니다. 하중에 참여

2.weight 기본값은 1입니다. 무게가 클수록 하중의 무게도 커집니다.

3.max_fails: 허용되는 요청 실패 횟수의 기본값은 1입니다. 최대 횟수를 초과하면 Proxy_next_upstream 모듈에서 정의한 오류가 반환됩니다.

4.fail_timeout: max_fails 실패 후 일시 중지 시간입니다.

5.backup: 백업이 아닌 다른 머신이 모두 다운되거나 사용 중일 때 백업 머신을 요청하세요. 따라서 이 기계의 압력은 가장 낮습니다.

nginx는 사용되지 않는 서버에서 사용할 수 있도록 동시에 여러 그룹의 로드 밸런싱 설정을 지원합니다.

client_body_in_file_only On으로 설정하면 디버깅을 위해 클라이언트 게시물의 데이터를 파일에 기록할 수 있습니다.

client_body_temp_path 기록 파일의 디렉터리를 설정하여 최대 3단계 디렉터리를 설정할 수 있습니다.

위치가 URL과 일치하도록 리디렉션하거나 할 수 있습니다. 새로 만들기 프록시 로드 밸런싱

5. 공정(타사)

응답 시간이 짧을수록 더 많은 요청이 분산됩니다.

예:

ip_hash;    
server 127.0.0.1:9090 down;    
server 127.0.0.1:8080 weight=2;    
server 127.0.0.1:6060;    
server 127.0.0.1:7070 backup; 
}
로그인 후 복사

위 내용은 nginx의 로드 밸런싱 알고리즘은 무엇입니까?의 상세 내용입니다. 자세한 내용은 PHP 중국어 웹사이트의 기타 관련 기사를 참조하세요!

관련 라벨:
원천:php.cn
본 웹사이트의 성명
본 글의 내용은 네티즌들의 자발적인 기여로 작성되었으며, 저작권은 원저작자에게 있습니다. 본 사이트는 이에 상응하는 법적 책임을 지지 않습니다. 표절이나 침해가 의심되는 콘텐츠를 발견한 경우 admin@php.cn으로 문의하세요.
인기 튜토리얼
더>
최신 다운로드
더>
웹 효과
웹사이트 소스 코드
웹사이트 자료
프론트엔드 템플릿