>  기사  >  운영 및 유지보수  >  nginx와 lvs의 차이점

nginx와 lvs의 차이점

(*-*)浩
(*-*)浩원래의
2019-06-04 16:53:104154검색

lvs와 nginx는 모두 다중 머신 로드 솔루션으로 사용될 수 있으며 각각 고유한 장점과 단점이 있으므로 실제 상황을 주의 깊게 분석하고 활용해야 합니다.

nginx와 lvs의 차이점

lvs의 장점:

1. 강력한 부하 저항. lvs의 작동 방식이 매우 간단하고 네트워크 계층의 계층 4에서만 작동하기 때문입니다. 트래픽이 없기 때문에 기본적으로 효율성에 대해 너무 많이 생각할 필요가 없습니다. LVS는 일반적으로 실패하는 경우가 거의 없습니다. 설사 실패하더라도 일반적으로 LVS 문제를 일으키는 다른 곳(예: 메모리, CPU 등)의 문제로 인해 발생합니다.

2. 구성 가능성은 일반적으로 큰 단점이지만 큰 장점이기도 합니다. 구성 가능한 옵션이 많지 않아 서버를 추가하거나 제거하는 것 외에 자주 손댈 필요가 없기 때문에 인적 오류가 크게 줄어듭니다. 개연성.

3. 기본 부하 저항 기능이 매우 강력하므로 안정적으로 작동하므로 안정성이 높습니다. 또한 다양한 LVS에는 완벽한 이중 ​​머신 핫 백업 솔루션이 있으므로 걱정할 필요가 없습니다. 이퀄라이저 자체에 문제가 있는 경우, 노드에 장애가 발생하면 LVS가 자동으로 이를 식별하므로 전체 시스템이 매우 안정적입니다.

4. 트래픽 없음, lvs는 요청만 분배하고 트래픽이 자체적으로 나가지 않으므로 회선 전환에 사용할 수 있습니다. 트래픽이 없으며 이퀄라이저의 IO 성능은 대규모 트래픽에 영향을 받지 않습니다.

5.lvs는 친환경 작업이 레이어 4에 있기 때문에 기본적으로 모든 애플리케이션을 지원할 수 있으므로 http, 데이터베이스, 채팅방 등을 포함한 거의 모든 애플리케이션의 로드 밸런싱을 수행할 수 있습니다.

또한 lvs는 노드 오류를 완전히 식별할 수 없습니다. 예를 들어 wlc 할당 모드에서 클러스터의 한 노드가 VIP로 구성되지 않은 경우 wrr 할당 방법을 사용하면 전체 클러스터를 사용할 수 없습니다. , 기계가 손실됩니다. 이 문제는 현재 추가 테스트 중입니다. 따라서 LVS를 사용할 때는 더욱 주의하는 것이 좋습니다.

nginx와 lvs의 비교 결과:

1.nginx는 네트워크의 7번째 계층에서 작동하므로 lvs와 비교하여 도메인 이름, 디렉토리 구조 등과 같은 http 애플리케이션 자체에 대한 전환 전략을 구현할 수 있습니다. lvs 그런 기능이 없기 때문에 이것만으로 nginx는 lvs보다 훨씬 더 많은 상황에서 사용될 수 있지만, nginx의 이러한 유용한 기능은 lvs보다 조정이 더 쉽기 때문에 두 번째로 판단해야 할 경우가 많습니다. LVS의 장점은 너무 많이 만지면 인체에 문제가 발생할 확률이 높아진다는 것입니다.

2.nginx는 이론적으로 ping이 성공하고 웹페이지 액세스가 정상이면 nginx도 내부 네트워크와 외부 네트워크를 모두 갖춘 노드라면 연결이 가능합니다. 및 외부 네트워크는 단일 시스템에 백업 라인이 있는 것과 같습니다. LVS는 현재 네트워크 환경에 더 의존적이며 LVS는 트래픽을 분산하기 위해 직접 모드를 사용합니다. 보장됩니다. 또한, LVS는 비주얼 IP로 사용하기 위해 호스팅 제공업체로부터 최소 1개의 IP를 신청해야 합니다. 동일한 지역의 IP는 VIP로 사용할 수 없는 것 같습니다. 훌륭한 LVS 관리자가 되려면 네트워크 통신에 대한 많은 지식을 습득하고 후속 조치를 취해야 합니다. 이는 더 이상 http만큼 간단하지 않습니다.

3.nginx는 설치와 구성이 비교적 간단하고, 기본적으로 로그에 오류를 출력할 수 있기 때문에 테스트하기도 매우 편리합니다. 위에서 언급한 것처럼 LVS는 네트워크에 크게 의존하기 때문에 LVS의 설치, 구성 및 테스트에는 비교적 오랜 시간이 걸립니다. 문제는 그에 따라 해결되어야 합니다. 훨씬 더 번거로울 것입니다.

4.nginx도 높은 부하를 견딜 수 있고 안정적이지만 부하가 매우 낮고 안정성이 낮습니다. lvs에는 여러 수준이 있습니다. nginx는 모든 트래픽을 처리하므로 시스템 IO 및 자체 구성에 따라 제한됩니다. 버그는 여전히 피할 수 없습니다. nginx에는 기성 이중 머신 핫 백업 솔루션이 없으므로 단일 머신에서 실행하는 것은 여전히 ​​상대적으로 위험하며 단일 머신에 대해 말하기는 어렵습니다.

5.nginx는 웹 페이지를 처리하는 서버에서 반환되는 상태 코드, 시간 초과 등과 같은 내부 서버 오류를 감지할 수 있으며 오류를 반환하는 요청을 다른 노드에 다시 제출합니다. 현재 lvs의 ldirectd는 서버의 내부 상태 모니터링도 지원할 수 있지만 lvs의 원칙으로 인해 요청을 다시 보낼 수 없습니다. 예를 들어 요청 재전송과 관련하여 사용자가 파일을 업로드하고 업로드 프로세스 중에 업로드를 처리하는 노드가 실패하는 경우 nginx는 재처리를 위해 업로드를 다른 서버로 전환하고 사용자가 직접 연결을 끊습니다. 크거나 중요한 파일을 업로드하면 짜증이 날 수 있습니다.

6. nginx에 의한 요청의 비동기 처리는 노드 서버의 부하를 줄이는 데 도움이 될 수 있습니다. Apache를 사용하여 직접 외부 서비스를 제공하는 경우 협대역 링크가 많으면 Apache 서버가 많은 메모리를 차지하므로 이를 수행할 수 없습니다. 두 개 이상의 nginx를 Apache 프록시로 사용하면 이러한 협대역 링크가 nginx에 의해 차단되고 너무 많은 요청이 Apache에 누적되지 않으므로 상당한 양의 메모리 사용량이 줄어듭니다. Squid를 사용하면 이와 관련하여 동일한 효과가 있습니다. Squid 자체가 캐시하지 않도록 구성되어 있어도 여전히 Apache에 큰 도움이 됩니다. LVS에는 이러한 기능이 없으므로 비교할 수 없습니다.

nginx는 중간 수준 프록시로도 사용할 수 있습니다. 이 수준에서 nginx에는 기본적으로 nginx에 도전할 수 있는 유일한 것이 있습니다. 그러나 lighttpd에는 현재 nginx의 전체 기능이 없으며 구성은 다음과 같습니다. 그다지 명확하지 않고 읽기 쉽지 않습니다. 또한, 중급 에이전트의 IP 주소도 중요하므로 중급 에이전트 업계를 위한 VIP 및 LVS를 보유하는 것이 가장 완벽한 솔루션입니다.

특정 애플리케이션을 자세히 분석해야 합니다. 상대적으로 작은 웹사이트(일일 pv

더 많은 Nginx 관련 기술 기사를 보려면 Nginx 사용법 튜토리얼 칼럼을 방문하세요!

위 내용은 nginx와 lvs의 차이점의 상세 내용입니다. 자세한 내용은 PHP 중국어 웹사이트의 기타 관련 기사를 참조하세요!

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