반응형
Nginx란 ?
- 경량 웹서버
- 클라이언트로부터 요청을 받았을 때 요청에 맞는 정적 파일을 응답해주는 HTTP Web Server로 활용되기도 하고, Reverse Proxy Server로 활용하여 WAS 서버의 부하를 줄일 수 있는 로드 밸런서로 활용되기도 함
Nginx 흐름

- Nginx는
Event-Driven구조로 동작하기 때문에 한개 또는 고정된 프로세스만 생성하여 사용하고, 비동기 방식으로 요청들을 동시에 처리할 수 있음 - Nginx는 새로운 요청이 들어오더라도 새로운 프로세스와 스레드를 생성하지 않기 때문에 프로세스와 스레드생성비용이 존재하지 않고, 적은 자원으로도 효율적인 운용이 가능
- 이러한 장점 덕분에 단일 서버에서도 동시에 많은 연결을 처리할 수 있음
Event-Driven?
apache의 C10K 문제점 해결 (한 시스템에 동시 접속자수가 1만명이 넘어갈 때 효율적인 방안)을 위해 만들어진 Event-Driven 구조의 웹서버 SW
Nginx 구조

Nginx는 하나의 Master Process 와 다수의 Worker Process로 구성되어 실행된다.
Master Process는 설정 파일을 읽고 유효성 검사 및 Worker Process를 관리한다.
모든 요청은 Worker Process에서 처리한다.
Nginx는 이벤트 기반 모델을 사용하고, Worker Process사이에 요청을 효율적으로 분배하기 위해 OS에 의존적인 메커니즘을 사용한다. Worker Process의 개수는 설정 파일에서 정의되며, 정의된 프로세스 개수와 사용 가능한 CPU 코어 숫자에 맞게 자동으로 조정됨.
반응형
'Dev > Web' 카테고리의 다른 글
| Web Server & WAS (0) | 2023.07.26 |
|---|---|
| 당신의 인생은 SSE(Server-Sent Event)를 알기 전과 후로 나뉜다 (0) | 2022.09.04 |