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; }
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 중국어 웹사이트의 기타 관련 기사를 참조하세요!