로드 밸런싱 원칙
클라이언트가 역방향 프록시에 요청을 보내고 역방향 프록시는 특정 로드 메커니즘에 따라 해당 요청을 대상 서버로 전달합니다(이러한 서버는 모두 동일한 애플리케이션을 실행합니다). , 획득한 콘텐츠는 클라이언트로 반환되며 구성에 따라 프록시 요청이 다른 서버로 전송될 수 있습니다. (권장 학습 : :nginx 튜토리얼)
밸런싱 구성 구성 사례 : 다음과 같이, 동일한 응용 프로그램이 두 서버 (192.168.1.103, 192.168.1.102)에 배포되었습니다. 다음과 같이 포트 8080을 통해 웹사이트에 접속합니다
http://192.168.1.xx:8080/webautotest/xxxxxxx동시에 nginx 리버스 프록시가 192.168.1.103에 설치되어 있고 192.168.1.103의 포트 80을 통해 두 사이트에 접속하고 싶습니다nginx 구성 파일을 편집하세요 (/usr/local/ngnix/conf/nginx.conf의 예에서) 다음과 같이 http 노드를 찾고 배경색
http { upstream myapp1 { server 192.168.1.103:8080; server 192.168.1.104:8080; } ……略 server { listen 80; server_name localhost; ……略 location /webautotest/ { proxy_buffering off; proxy_pass http://myapp1; } } }
으로 콘텐츠를 추가합니다. 구성 파일을 다시 로드
[root@localhost nginx-1.10.0]# /usr/local/ngnix/sbin/nginx -s reload액세스 테스트 url
은 다음과 같습니다. 동일한 페이지에 액세스하고 다른 서버의 페이지를 표시합니다
설명:
로드 밸런싱 방법
nginx는 다음 세 가지를 제공합니다. 로드 밸런싱 메커니즘 및 방법:
라운드 로빈 — 요청은 라운드 로빈 방식으로 애플리케이션 서버에 배포됩니다. least-connected — 다음 요청은 활성 연결 수가 가장 적은 서버에 배포됩니다. ip-hash — 해시 함수를 사용하여 클라이언트의 IP 주소를 기반으로 다음 요청을 배포해야 하는 서버를 결정합니다.기본 로드 밸런싱 구성
http { upstream myapp1 { server srv1.example.com; server srv2.example.com; server srv3.example.com; } server { listen 80; location / { proxy_pass http://myapp1; } } }위의 예에는 각각 srv1-srv3에서 실행되는 3개의 애플리케이션 인스턴스가 있습니다. 지정된 로드 밸런싱 방법이 표시되지 않는 경우 기본값은 라운드 로빈입니다. 모든 요청은 프록시에 의해 myapp1 서버 그룹으로 전달되고 요청은 로드 밸런싱 방법에 따라 분산됩니다.
위 내용은 nginx 로드 밸런싱 원리를 구두로 설명하는 방법의 상세 내용입니다. 자세한 내용은 PHP 중국어 웹사이트의 기타 관련 기사를 참조하세요!