부하 분산 모듈 백엔드 서버는 특정 요청으로 분할 될 수 있다 결정 하 고 회전 메서드 또는 부분의 일부는 요청을 통해 기존 구현을 해시 됩니다. 이 섹션은 http://www.aliyun.com/zixun/aggregation/13996.html를 소개 합니다 "> 부하 균형 조정 모듈 등록 및 호출, 그리고 걸릴 예를 들어 (소스 코드) Upstream_hash 모듈. Upstream_hash 모듈은 nginx.conf에서 결정 되는 변수를 해시 합니다.
부하 균형 조정 모듈은 다음과 같은 6 개의 측면:
1. 활성화 구성 지시문은 함수를 호출 하는 등록 함수 등록 필요 (예: 해시)
2. 등록 함수는 합법적인 서버 옵션을 정의 합니다 (예: 무게 =) 업스트림 호스트 초기화 함수 업스트림 초기화 함수를 등록 하는 동안
3. 업스트림 호스트 초기화 함수의 구성을 확인 한 후 호출 됩니다.
A 서버 이름을 확인 하 고 특정 IP 주소를
b 각 소켓에 대 한 공간 할당
(c) 피어 초기화 함수 피어 초기화 함수에 대 한 콜백 항목 설정
4. 동반자 초기화 함수는 부하 분산 기능 수 입력 하 고 작동 하는 데이터 구조를 설정 하는 각 요청에 대해 한 번 호출 됩니다.
5. 부하 분산 기능 부하 분산 기능이이 요청의 행방을 결정 하 고 (경우 백 엔드 서버 응답, 그것은 더 많은 시간을 걸릴 수 있습니다) 클라이언트 요청이 오면 한 번 이상 호출 됩니다. 여기서 무슨 일이 하는 것은 매우 흥미롭습니다.
6. 마지막으로, 특정 백 엔드 서버와 통신의 끝에서 피어 릴리스 함수 기능 업데이트 (통신 성공 또는 실패 여부) 통계 피어.
많은 내용 약간 전개 하는 것을 확인 하 고 있습니다.
5.1. 활성화 지침
지시문 선언, 그들은 유효한 위치와 호출 하는 함수를 결정 하는. Nginx 지시는 업스트림 구성 섹션에만 유효한 알고 있는 부하 분산 된 모듈에 대 한 식별 ngx_http_ups_conf는 사용할 수 있어야. 그것은 등록 기능에 대 한 포인터를 제공 해야 합니다. 다음은 Upstream_hash 모듈에 대 한 명령을 선언입니다.
{ngx_string ("해시"),
Ngx_http_ups_conf | Ngx_conf_noargs,
Ngx_http_upstream_hash,
0,
0,
NULL},
다른 아무것도입니다.