nginx 에서 흔히 볼 수 있 는 부하 균형 전략

2036 단어 nginx
nginx 에서 흔히 볼 수 있 는 부하 균형 전략
1. 폴 링
nginx 의 기본 부하 균형 정책 은 폴 링 방식 입 니 다. 즉, 모든 요청 은 시간의 순서에 따라 서로 다른 백 엔 드 서버 에 분배 되 고 백 엔 드 서버 가 끊 기 면 자동 으로 삭 제 됩 니 다.
upstream backserver {
	server 192.168.0.1:8080;
	server 192.168.0.2:8080;
	server 192.168.0.3:8080;
}

이런 방식 은 정상 적 인 균형 클 라 이언 트 의 요청 이 라 고 할 수 있 지만 서로 다른 백 스테이지 기계 가 여러 가지 차이 로 인해 응답 하 는 시간 이 다 를 수 있 음 을 고려 하지 않 았 기 때문에 어떤 경우 에는 역 효 과 를 얻 었 다.
2. 가중치 설정
위의 문의 방식 으로 인해 일부 응답 이 느 린 기계 가 대량의 미 처리 요 구 를 쌓 여 요청 시간 이 더 오래 걸 리 는 문 제 를 야기 했다.그러면 디자인 가중치 의 방식 은 폴 링 의 확률 을 지정 하 는 것 이다. weight 를 설정 하여 지정 하고 weight 와 방문 율 을 정비례 하 는 방식 으로 백 스테이지 기계 의 성능 차이 가 너무 큰 상황 에 대응 할 수 있다.
upstream backserver {
	server 192.168.0.1:8080 weight=1;
	server 192.168.0.2:8080 weight=3;
	server 192.168.0.3:8080 weight=6;
}

3. ip_hash
ip_hash 의 전략 적 해결 문 제 는 부하 균형 이 잡 힌 시스템 에서 사용자 가 특정한 서버 에 로그 인 하면 사용자 가 두 번 째 로 배경 과 상호작용 을 할 때 부하 균형 으로 인해 이번 요청 이 배경 에 있 는 임의의 컴퓨터 에 배 포 될 수 있 기 때문에 사용자 가 지난번 에 서버 에 로그 인 한 정 보 를 잃 어 버 릴 수 있 습 니 다.이때 ip 사용hash 정책 은 같은 ip 에서 요청 한 것 을 해시 알고리즘 을 통 해 같은 배경 기기 에 위치 시 켜 session 문 제 를 해결 할 수 있 습 니 다.
upstream backserver {
	ip_hash;
	server 192.168.0.1:8080;
	server 192.168.0.2:8080;
	server 192.168.0.3:8080;
}

이 전략의 단점 은 어떤 ip 의 요 구 량 이 매우 많 을 때 배경 클 러 스 터 의 한 기계 의 압력 이 너무 클 수 있다 는 것 이다.
4. fair 모듈
fair 모듈 은 제3자 모듈 로 배경 기기 의 응답 시간 에 따라 요청 을 분배 하고 응답 시간 이 짧 은 우선 분 배 를 하 는 전략 입 니 다.fair 모듈 을 사용 할 때 nginx 를 다시 컴 파일 해 야 합 니 다.
upstream backserver {
	fair;
	server 192.168.0.1:8080;
	server 192.168.0.2:8080;
	server 192.168.0.3:8080;
}

5. url_hash
이 정책 은 url 의 해시 결과 에 따라 요청 을 할당 합 니 다. 모든 url 은 같은 배경 기기 에 영원히 대응 하여 배경 서버 에서 캐 시 를 할 때 유효 합 니 다.nginx 1.7.2 버 전 전에 따로 설치 해 야 합 니 다.
url_hash 다운로드 링크
1.7.2 버 전 이후 urlhash 모듈 은 nginx 에 통합 되 었 습 니 다.
upstream backserver {
	hash $request_uri;
	hash_method crc32;
	server 192.168.0.1:8080;
	server 192.168.0.2:8080;
	server 192.168.0.3:8080;
}

좋은 웹페이지 즐겨찾기