>  기사  >  운영 및 유지보수  >  nginx는 어떻게 로드 밸런싱을 달성합니까?

nginx는 어떻게 로드 밸런싱을 달성합니까?

(*-*)浩
(*-*)浩원래의
2019-11-01 10:25:175600검색

Nginx("engine x")는 러시아 프로그래머 Igor Sysoev가 개발한 고성능 웹 및 역방향 프록시 서버이며 IMAP/POP3/SMTP 프록시 서버이기도 합니다.

nginx는 어떻게 로드 밸런싱을 달성합니까?

연결 동시성이 높은 경우 Nginx는 Apache 서버의 좋은 대안입니다.

로드 밸런싱: 로드 밸런싱은 Nginx에서 일반적으로 사용되는 기능입니다. 서버의 단위 시간당 방문 횟수가 많을수록 서버 자체 용량을 초과하면 서버가 붕괴됩니다. . 서버 충돌을 방지하고 사용자에게 더 나은 경험을 제공하기 위해 우리는 로드 밸런싱을 사용하여 서버 압력을 공유합니다. (추천 학습: nginx 튜토리얼)

사용자가 웹 사이트에 접속하면 먼저 중간 서버에 액세스한 다음 중간 서버가 스트레스가 덜한 서버를 선택하도록 서버 클러스터를 구성할 수 있습니다. 서버 클러스터에 액세스한 다음 서버에 액세스 요청을 보냅니다.

그 이후로 사용자가 방문할 때마다 서버 클러스터에 있는 각 서버의 압력이 균형을 이루고 서버 압력을 공유하고 서버 충돌을 방지하는 경향이 있는지 확인합니다. 로드 밸런싱 구성은 일반적으로 역방향 프록시를 동시에 구성하고 역방향 프록시를 통해 로드 밸런싱으로 이동해야 합니다.

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;
       }
   }
}

위 내용은 nginx는 어떻게 로드 밸런싱을 달성합니까?의 상세 내용입니다. 자세한 내용은 PHP 중국어 웹사이트의 기타 관련 기사를 참조하세요!

성명:
본 글의 내용은 네티즌들의 자발적인 기여로 작성되었으며, 저작권은 원저작자에게 있습니다. 본 사이트는 이에 상응하는 법적 책임을 지지 않습니다. 표절이나 침해가 의심되는 콘텐츠를 발견한 경우 admin@php.cn으로 문의하세요.