아키텍처 Nginx: 고성능 및 확장성

의 아키텍처는 Nginx 고성능, 안정성 및 확장성을 달성하도록 설계되었습니다. 다음은 아키텍처의 주요 구성 요소에 대한 자세한 설명입니다 Nginx.

Master Process

Nginx 이것은 상위 프로세스라고도 하는 의 기본 프로세스입니다. 그 책임은 작업자 프로세스 및 기타 일반적인 관리 작업을 관리하는 것입니다. 구성을 읽고 master process 처리한 다음 작업자 프로세스를 만들어 클라이언트의 요청을 처리합니다.

Worker Process

에 의해 생성된 master process 작업자 프로세스는 의 자식 프로세스가 됩니다 Nginx. 시스템의 성능 및 리소스 요구 사항을 충족하도록 작업자 프로세스 수를 구성할 수 있습니다. 각각은 worker process 독립적으로 작동하고 메모리를 공유하지 않으며 서로 직접 통신하지 않으므로 Nginx.

Event-driven Architecture

Nginx 요청을 처리하기 위해 사용합니다 event-driven architecture. 각 요청에 대해 별도의 스레드를 사용하는 대신 Nginx 비동기 함수를 사용하여 이벤트를 처리합니다. 이를 통해 한 사람이 worker process 여러 요청을 동시에 처리하여 시스템 리소스를 최적화하고 고성능을 보장할 수 있습니다.

Event Module

Nginx event module 운영 체제 및 네트워크 인프라와 함께 작동하도록 다양한 지원 이러한 모듈은 Nginx 커널과 상호 작용하고 불필요한 차단 및 대기를 방지하여 시스템 부하를 줄이는 데 도움이 됩니다.

Worker Connections

각각이 동시에 처리할 수 있는 연결 수입니다 worker process. 이 구성을 사용하면 연결 수를 사용자 지정하여 시스템 리소스 및 클라이언트 요청 트래픽을 기반으로 최적의 성능을 보장할 수 있습니다.

Proxy 그리고 Load Balancing

Nginx 서버 역할을 하여 proxy 클라이언트의 요청을 시스템 내의 백엔드 애플리케이션 서버로 라우팅할 수 있습니다. 이를 통해 여러 서버에 걸쳐 분산 응용 프로그램을 배포할 수 있으므로 load balancing 성능과 안정성이 향상됩니다.

 

유연한 고성능 아키텍처 덕분에 Nginx 전 세계적으로 널리 사용되는 가장 인기 있는 웹 서버 및 프록시 중 하나가 되었으며 인터넷에서 요청 및 데이터 처리 요구가 증가하고 있습니다.