>  기사  >  백엔드 개발  >  nginx 서버 로드 밸런싱 구성

nginx 서버 로드 밸런싱 구성

WBOY
WBOY원래의
2016-08-08 09:20:51957검색

일반적으로 사용되는 로드 밸런싱 솔루션은 다음과 같습니다.
1. 폴링
폴링은 Nginx 구성 파일의 순서에 따라 클라이언트의 웹 요청을 다른 백엔드 서버에 순서대로 배포하는 라운드 로빈입니다.
구성 예는 다음과 같습니다.
http{
upstream Sampleapp {
서버 <>
서버 << ; 다른 DNS 항목 또는 IP 주소(포트는 선택 사항)>>;
}
....
서버{
수신 80;
...
위치 / {
proxy_pass http://sampleapp;
} }
}
2. 최소 연결
웹 요청은 연결 수가 가장 적은 서버로 전달됩니다.
구성 예는 다음과 같습니다.
http{
upstream Sampleapp {
최소_conn;
서버 <>;
서버 <<다른 DNS 항목 또는 IP 주소(포트는 선택 사항)>>;
}
....
서버{
Listen 80;
...
위치 / {
Proxy_pass http://sampleapp;
} }
}
3. IP 해시
위에서 언급한 두 가지 로드 밸런싱 솔루션에서는 동일한 웹 요청이 연속적으로 발생합니다. 클라이언트는 처리를 위해 다른 백엔드 서버에 배포되므로 세션이 관련되면 세션이 더 복잡해집니다. 일반적인 것은 데이터베이스 기반 세션 지속성입니다. 위의 문제를 극복하기 위해 IP 주소 해싱 기반의 로드 밸런싱 솔루션을 사용할 수 있습니다. 이 경우 동일한 클라이언트의 연속적인 웹 요청은 처리를 위해 동일한 서버로 배포됩니다.
구성 예는 다음과 같습니다.
http{
upstream Sampleapp {
ip_hash;
서버 <>;
서버 <<다른 DNS 항목 또는 IP 주소(포트는 선택 사항)>>;
}
....
서버{
Listen 80;
...
위치 / {
Proxy_pass http://sampleapp;
} }
}
4. 가중치 기반 로드 밸런싱
이런 방식으로 더 많은 요청을 하도록 Nginx를 구성할 수 있습니다. 자주 구성이 높은 백엔드 서버에 배포하고 구성이 낮은 서버에는 상대적으로 적은 요청을 배포합니다.
구성 예는 다음과 같습니다.
http{
upstream Sampleapp {
서버 <> < ;<다른 DNS 항목 또는 IP 주소(포트는 선택 사항)>>;
}
....
서버{
Listen 80;
...
location / {
Proxy_pass http://sampleapp;
}
}
위의 예에서는 서버 주소와 포트 뒤에 Weight=2를 구성합니다. 즉, 3개의 요청이 수신될 때마다 처음 2개의 요청은 첫 번째 서버에 배포되고 세 번째 요청은 두 번째 서버에 배포됩니다. 다른 구성은 폴링 구성과 동일합니다.

저작권 안내: 이 글은 블로거의 원본 글이므로 블로거의 허락 없이 복제할 수 없습니다.

위 내용은 관련 내용을 포함하여 nginx 서버 로드 밸런싱 구성을 소개한 내용이 PHP 튜토리얼에 관심이 있는 친구들에게 도움이 되기를 바랍니다.

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