JAVA

JAVA 스터디 : nginx의 이해

업무 중 2020. 12. 25. 21:38

트래픽이 많은 웹사이트를 위해 확장성을 위해 설계한 비동기 이벤트 기반구조의 웹서버 소프트웨어.

일명,더 적은 자원으로 더 빠르게 서비스를 하는 SW로 알려져 있다. 이 프로그램은 가벼움과 높은 성능을 목표로 만들어 졌으며, 러시아의 프로그래머, 이고르 시쇼브가 Apache의 C10K Problem(하나의 웹서버에 10,000개의 클라이언트의 접속을 동시에 다룰 수 있는 기술적인 문제)를 해결하기 위해 만든 Event-driven구조의 HTTP, Reverser Proxy, IMAP/POP PROXY server를 제공하는오픈소스 서버 프로그램이다.

 

nginx는 Apache와 비교를 하는 편이다.

 

Apache

- 쓰레드 / 프로세스 기반 구조로 요청 하나당 쓰레드 하나가 처리하는 구조

- 사용자가 많으면 많은 쓰레드 생성, 메모리 및 CPU 낭비가 심함

- 하나의 쓰레드 : 하나의 클라이언트 라는 구조

nginx

- 비동기 Event-Driven 기반 구조.

- 다수의 연결을 효과적으로 처리가능.

- 대부분의 코어 모듈이 Apache보다 적은 리소스로 더 빠르게 동작가능

- 더 작은 쓰레드로 클라이언트의 요청들을 처리가능


출처: m.blog.naver.com/jhc9639/220967352282

'JAVA' 카테고리의 다른 글

JAVA 스터디 : Properties  (0) 2020.12.29
JAVA 스터디 : DI  (0) 2020.12.28
JAVA 스터디 : MVC패턴이란?  (0) 2020.12.24
JAVA 스터디 : Ajax ?  (0) 2020.12.23
JAVA 스터디 : REST API가 정말 뭘까? 이제 간신히 스타트다  (0) 2020.12.22