nginx를 클러스터링할 수 있나요?
nginx는 클러스터 고가용성을 실현합니다
NGINX는 역방향 프록시 서버로서 로드 밸런싱을 달성할 수 있고 정적 파일 서버로도 사용할 수 있다는 것이 특징입니다. 단일 머신에서 지원할 수 있다는 것입니다. 동시에 30,000개의 동시 실행. 이제 많은 웹사이트에서 NGINX를 게이트웨이 포털로 사용하여 백엔드 리소스를 균일하게 예약하고 할당합니다. 그러나 NGINX가 다운되면 전체 백엔드 서비스를 사용할 수 없게 되거나 동시성이 100,000 수준에 도달할 정도로 매우 큰 경우에도 하나의 NGINX에는 여전히 한계가 있으므로 이때 마스터-슬레이브 작업을 수행해야 합니다. NGINX에서 백업은 서비스의 고가용성을 보장하고 클러스터는 동시성 압력을 공유하는 데 사용됩니다. 현재 NGINX는 이 두 영역에서 주로 다음과 같은 솔루션을 가지고 있습니다.
NGINX 마스터-슬레이브 백업
NGINX가 마스터-슬레이브 백업을 구현하는 현재 주류 솔루션은 Keepalived+Nginx입니다. 이중 머신 핫 백업을 달성합니다.
Keepalived 소개:
Keepalived는 IP 단일 실패 지점을 방지하는 데 사용할 수 있는 VRRP 프로토콜 기반의 서비스 고가용성 솔루션입니다. 그러나 일반적으로 단독으로 나타나지 않고 다른 로드 밸런싱 기술(예: lvs, haproxy, nginx)과 함께 작동하여 클러스터의 고가용성을 달성합니다.
VRRP 프로토콜:
VRRP는 가상 라우터 중복 프로토콜인 Virtual Router Redundancy Protocol을 나타냅니다. 라우터의 고가용성을 달성하기 위한 내결함성 프로토콜로 간주할 수 있습니다. 동일한 기능을 제공하는 N개의 라우터가 라우터 그룹으로 구성됩니다. 이 그룹에는 마스터와 여러 개의 백업이 있지만 외부에서는 하나의 라우터처럼 보입니다. , 가상 IP(라우터가 위치한 LAN에 있는 다른 시스템의 기본 경로인 vip)를 사용하여 가상 라우터를 구성합니다. 이 IP를 소유한 마스터는 실제로 ARP 응답 및 IP 데이터 패킷 전달을 담당합니다. 그룹의 다른 라우터는 대기 역할을 합니다. 마스터는 멀티캐스트 메시지를 보냅니다. 백업이 시간 초과 기간 내에 vrrp 패킷을 수신할 수 없으면 마스터는 다운된 것으로 간주됩니다. 이때 고가용성을 보장하려면 VRRP 우선 순위에 따라 백업을 마스터로 선택해야 합니다. 라우터의.
VRRP 프로토콜 구현에서 가상 라우터는 00-00-5E-00-01-XX를 가상 MAC 주소로 사용합니다. XX는 고유한 VRID(Virtual Router IDentifier)입니다. 동시. 가상 라우터의 물리적 라우터 그룹에서는 멀티캐스트 IP 주소 224.0.0.18을 통해 정기적으로 알림 메시지가 전송됩니다. 각 라우터는 1-255 사이의 우선순위 레벨을 가지며, 가장 높은 우선순위가 마스터 라우터가 됩니다. 마스터의 우선순위를 낮추면 백업 상태의 라우터가 메인 라우터의 상태를 선점(pro-empt)할 수 있으며, 백업 우선순위가 동일한 두 IP 주소 중 더 큰 쪽이 마스터가 되어 가상 IP를 인수하게 됩니다.
구체적인 구현 원칙:
1) 마스터가 다운되지 않은 경우 마스터가 VIP를 점유하고 nginx가 마스터에서 실행됩니다.
2) 마스터가 다운된 경우 백업이 VIP를 점유하고 nginx를 실행합니다.
3) 마스터 서버의 nginx 서비스가 다운되면 VIP 리소스가 백업 서버로 이동됩니다
4) 백엔드 서버의 상태를 확인하세요
마스터와 서버 모두 Keepalived 서비스 중 하나가 중지되면 백업은 마스터 또는 백업에 관계없이 nginx 서비스를 활성화합니다. VIP는 keepalived 서비스가 여전히 실행 중인 노드로 이동합니다.
NGINX 및 keepalived 설치 구성
설치 구성이 다양하고 상호 모니터링, 알람 등을 구현하기 위한 스크립트도 작성할 수 있으므로 특별히 해결 방법과 원리를 주로 다루는 강의를 들어보겠습니다.
NGINX 분산 클러스터
여러 NGINX로 로드 밸런싱을 수행하려면
1 각 nginx에는 도메인 이름에 동일한 도메인 이름의 여러 방향을 설정하는 것이 가장 쉬운 방법입니다. 라운드 로빈을 달성하기 위해. 그러나 결함 차단 속도는 느려집니다.
2. 하나의 공용 네트워크 nginx는 업스트림 기능, 휠, IP 및 URL을 통해 인트라넷의 여러 nginx에 배포됩니다. 하지만 공용 네트워크의 nginx가 다운되면 내부 네트워크 전체가 영향을 받습니다.
3. 한 쌍의 공용 네트워크 nginx와 3개의 공용 네트워크 IP를 사용하여 Keepalive를 통해 고가용성을 달성한 다음 인트라넷으로 업스트림합니다(이전 섹션에서 방금 설명한 마스터-슬레이브 백업입니다).
일반적으로 위의 1, 2, 3가지 방법으로 기본적으로 문제를 해결할 수 있으며, 2, 3을 사용하는 것이 좋습니다.
동시성이 정말 크다면 일반적으로 하드웨어 F5와 DNS 및 CDN과 함께 로드 밸런싱을 위한 기타 장비 서비스 제공업체와 협력하여 도메인 이름 확인 전달 및 캐시 구성을 수행합니다. 이는 대부분의 주요 제조업체의 현재 아키텍처 구성이기도 합니다.
더 많은 Nginx 관련 기술 기사를 보려면 Nginx 사용법 튜토리얼 칼럼을 방문하세요!
위 내용은 nginx를 클러스터링할 수 있나요?의 상세 내용입니다. 자세한 내용은 PHP 중국어 웹사이트의 기타 관련 기사를 참조하세요!

Nginx는 높은 동시성 및 정적 컨텐츠를 처리하는 데 적합한 반면 Apache는 동적 컨텐츠 및 복잡한 URL 재 작성에 적합합니다. 1.NGINX는 높은 동시성에 적합한 이벤트 중심 모델을 채택합니다. 2. Apache는 동적 컨텐츠에 적합한 프로세스 또는 스레드 모델을 사용합니다. 3. Nginx 구성은 간단하지만 Apache 구성은 복잡하지만 더 유연합니다.

Nginx와 Apache는 각각 고유 한 장점이 있으며 선택은 특정 요구에 따라 다릅니다. 1.nginx는 간단한 배포와 함께 높은 동시성에 적합하며 구성 예에는 가상 호스트 및 역 프록시가 포함됩니다. 2. Apache는 복잡한 구성에 적합하며 배포하기에도 간단합니다. 구성 예제에는 가상 호스트 및 URL 재 작성이 포함됩니다.

NginxUnit의 목적은 웹 응용 프로그램의 배포 및 관리를 단순화하는 것입니다. 장점은 다음과 같습니다. 1) Python, PHP, Go, Java 및 Node.js와 같은 여러 프로그래밍 언어를 지원합니다. 2) 동적 구성 및 자동 재 장전 기능을 제공합니다. 3) 통합 API를 통해 응용 프로그램 수명주기를 관리합니다. 4) 고 동시성 및 하중 밸런싱을 지원하기 위해 비동기 I/O 모델을 채택하십시오.

Nginx는 2002 년에 시작하여 Igorsysoev가 C10K 문제를 해결하기 위해 개발했습니다. 1.NGINX는 고성능 웹 서버, 이벤트 중심의 비동기 아키텍처로 높은 동시성에 적합합니다. 2. 리버스 프록시,로드 밸런싱 및 캐싱과 같은 고급 기능을 제공하여 시스템 성능 및 신뢰성을 향상시킵니다. 3. 최적화 기술에는 HTTP/2 및 보안 구성을 사용하여 작업자 프로세스 수 조정, GZIP 압축 가능성이 포함됩니다.

Nginx와 Apache의 주요 아키텍처 차이점은 Nginx가 이벤트 중심의 비동기 비 블로킹 모델을 채택하는 반면 Apache는 프로세스 또는 스레드 모델을 사용한다는 것입니다. 1) NGINX는 이벤트 루프 및 I/O 멀티플렉싱 메커니즘을 통해 고유 한 연결을 효율적으로 처리하며, 정적 컨텐츠 및 리버스 프록시에 적합합니다. 2) Apache는 다중 프로세스 또는 다중 스레드 모델을 채택하는데,이 모델은 매우 안정적이지만 자원 소비가 높으며 풍부한 모듈 확장이 필요한 시나리오에 적합합니다.

Nginx는 동시 및 정적 컨텐츠가 높은 반면 Apache는 복잡한 구성 및 동적 컨텐츠에 적합합니다. 1. Nginx는 교통량이 많은 시나리오에 적합한 동시 연결을 효율적으로 처리하지만 동적 컨텐츠를 처리 할 때 추가 구성이 필요합니다. 2. Apache는 복잡한 요구에 적합하지만 동시성 성능이 좋지 않은 풍부한 모듈과 유연한 구성을 제공합니다.

Nginx와 Apache는 각각 고유 한 장점과 단점이 있으며 선택은 특정 요구에 기초해야합니다. 1.NGINX는 비동기 비 블로킹 아키텍처로 인해 높은 동시 시나리오에 적합합니다. 2. Apache는 모듈 식 설계로 인해 복잡한 구성이 필요한 저소성 시나리오에 적합합니다.

NginXunit은 여러 프로그래밍 언어를 지원하고 동적 구성, 제로 다운 타임 업데이트 및 내장로드 밸런싱과 같은 기능을 제공하는 오픈 소스 응용 프로그램 서버입니다. 1. 동적 구성 : 다시 시작하지 않고 구성을 수정할 수 있습니다. 2. 다국어 지원 : Python, Go, Java, PHP 등과 호환됩니다. 3. 제로 다운 타임 업데이트 : 서비스를 중단하지 않는 응용 프로그램 업데이트를 지원합니다. 4. 내장로드 밸런싱 : 요청을 여러 응용 프로그램 인스턴스에 배포 할 수 있습니다.


핫 AI 도구

Undresser.AI Undress
사실적인 누드 사진을 만들기 위한 AI 기반 앱

AI Clothes Remover
사진에서 옷을 제거하는 온라인 AI 도구입니다.

Undress AI Tool
무료로 이미지를 벗다

Clothoff.io
AI 옷 제거제

Video Face Swap
완전히 무료인 AI 얼굴 교환 도구를 사용하여 모든 비디오의 얼굴을 쉽게 바꾸세요!

인기 기사

뜨거운 도구

메모장++7.3.1
사용하기 쉬운 무료 코드 편집기

SublimeText3 Mac 버전
신 수준의 코드 편집 소프트웨어(SublimeText3)

SecList
SecLists는 최고의 보안 테스터의 동반자입니다. 보안 평가 시 자주 사용되는 다양한 유형의 목록을 한 곳에 모아 놓은 것입니다. SecLists는 보안 테스터에게 필요할 수 있는 모든 목록을 편리하게 제공하여 보안 테스트를 더욱 효율적이고 생산적으로 만드는 데 도움이 됩니다. 목록 유형에는 사용자 이름, 비밀번호, URL, 퍼징 페이로드, 민감한 데이터 패턴, 웹 셸 등이 포함됩니다. 테스터는 이 저장소를 새로운 테스트 시스템으로 간단히 가져올 수 있으며 필요한 모든 유형의 목록에 액세스할 수 있습니다.

SublimeText3 중국어 버전
중국어 버전, 사용하기 매우 쉽습니다.

Dreamweaver Mac版
시각적 웹 개발 도구
