티스토리 뷰

Computer Engineering/Web

Web- Nginx

Ideveloper2 2018. 3. 29. 16:46

Web- Nginx


https://m.blog.naver.com/jhc9639/220967352282 참고


|  NGINX ?


트래픽이 많은 웹사이트를 위해 확장성을 위해 설계한 비동기 이벤트 기반구조의 웹서버 소프트웨어입니다.  이 프로그램은 가벼움과 높은 성능을 목표로 만들어 졌으며, 러시아의 프로그래머,이고르 시쇼브가 Apache의 C10K Problem(하나의 웹서버에 10,000개의 클라이언트의 접속을 동시에 다룰 수 있는 기술적인 문제)를 해결하기 위해 만든 Event-driven구조의 HTTP, Reverser Proxy, IMAP/POP PROXY server를 제공하는오픈소스 서버 프로그램입니다.


더 적은 자원으로 더 빠르게 데이터를 서비스 할 수 있다.



Apache vs Nginx


Apache
- 쓰레드 / 프로세스 기반 구조로 요청 하나당 쓰레드 하나가 처리하는 구조
- 사용자가 많으면 많은 쓰레드 생성, 메모리 및 CPU 낭비가 심함
하나의 쓰레드 : 하나의 클라이언트 라는 구조


Nginx
- 비동기 Event-Driven 기반 구조. 
- 다수의 연결을 효과적으로 처리가능. 
- 대부분의 코어 모듈이 Apache보다 적은 리소스로 더 빠르게 동작가능
더 작은 쓰레드로 클라이언트의 요청들을 처리가능




|  Nginx의 장점


1. 보안
앞 단의 nginx로 리버스 프록시로 사용하고  뒷단에는 WAS를 설치하여  외부에 노출되는 인터페이스에 대해  Nginx WAS 부분만 노출 가능합니다. 익명의 사용자가 직접적인 Web Server로의 접근을 한다라고 하면 문제가 발생할 수 있기 때문에 직접적이지 않고 한 단계를 더 거침으로써 보안적인 부분을 처리할 수 있는 것입니다.

2. Backend-service 장애 대응 처리
Backend-service 에 대해 max fails, fail timeout시 백업 서버로 진입할 수 있도록 처리 가능합니다. 



| 프록시 서버?


https://www.joinc.co.kr/w/man/12/proxy 참고


웹 서비스를 예로 들어보자. 클라이언트(웹 브라우저)는 웹 서버에 직접 연결하는 대신에 프락시 서버에 연결해서 웹 페이지를 요청한다. 이 요청을 읽은 프락시 서버는 웹 서버에 요청을 전달하고, 응답을 받아서 클라이언트에 전송한다. 인터넷 서비스의 규모가 커지면서, 분산 시스템으로 서비스가 구성되는 경우가 많다. 프락시 서버를 이용하면 분산 시스템을 뒤에 숨기는 방식으로 시스템을 단순화 할 수 있다.


리버스 프록시

https://www.joinc.co.kr/w/man/12/proxy 참고

리버스 프락시는 일반적인 인터넷 서비스에서 널리 사용하고 있다. 리버스 프락시는 유저의 요청을 받아서 반대편(reverse)네트워크에 있는 인터넷 서버에 전달 하는 일을 한다. 리버스 프락시 서버는 단순히 요청을 전달하기만 할 뿐으로 요청의 처리는 뒷단에 있는 웹 서버들이 맡아서 한다. 따라서 하나의 리버스 프락시 서버가 여러 웹 서버로 요청을 전달하도록 구성 할 수 있다. 예컨데 로드 밸런서로의 역할을 수행 할 수 있다. 실제 HAProxy, NginX, Apache 웹서버들이 가지고 있는 리버스 프락시 기능을 이용해서 소프트웨어 기반의 로드밸런싱 환경을 구축하기도 한다.

소프트웨어 기반인 만큼 전용 로드밸런서 보다는 성능이 떨어질 수 있지만, 저렴한 비용과 이에 따르는 무지막지한 확장성으로 단점을 커버하고 있다. 클라우드 환경에서 사용할 로드밸런서라면 소프트웨어로 구축하는게 거의 당연하게 여겨진다.


'Computer Engineering > Web' 카테고리의 다른 글

Web -DOM과 querySelector  (0) 2018.07.03
Web - 도메인관리시스템에 대한 이해  (0) 2018.06.14
Web - HTTP 프로토콜의 이해  (0) 2018.04.28
Web - Get과 Post의 차이  (1) 2018.03.25
Web - CORS  (0) 2018.03.22
댓글
공지사항
최근에 올라온 글
최근에 달린 댓글
Total
Today
Yesterday
TAG
more
«   2024/05   »
1 2 3 4
5 6 7 8 9 10 11
12 13 14 15 16 17 18
19 20 21 22 23 24 25
26 27 28 29 30 31
글 보관함