TIL

NGINX 사용 이유

mean-ji 2022. 8. 24. 15:19
728x90

NGINX

트래픽이 많은 웹 사이트의 확장성을 위해 개발된 경량의 고성능 웹서버라고 한다.

아파치 웹서버에서 트래픽이 감당이 어려운 문제를 해결하기 위해 등장했다고 한다.

(C10K - 하나의 웹서버에 1만개 이상의 클라이언트 접속을 처리하지 못하는 문제)

 

동시 접속 처리에 특화된 웹서버로,

클라이언트로부터 http 요청을 받아 요청에 해당하는 파일을 http 통신을 통해 응답해주는 프로그램

정적 컨텐츠 호스팅, 리버스 프록시, 캐싱, 로드밸런싱, 미디어 스트리밍 등 유용한 여러 역할을 수행한다고 한다.

 

Reverse Proxy

대부분의 WAS는 Web Server 기능을 제공하므로 Reverse Proxy가 없이 내부 WAS 가 직접 서비스를 제공해도 되지만

Reverse Proxy를 사용하는 이유는 다음과 같다고 한다.

  • 리버스 프록시의 웹서버를 리소스의 앞에 위치시켜서 DB와 연결된 WAS의 보안을 강화할 수 있다
  • Cache Server를 붙이거나 SSL 하드웨어 가속기를 연동하는 등 아키텍처 측면에서 성능 향상 가능
  • 리버스 프록시를 Cluster로 구성해 놓으면 가용성을 높일 수 있고, 사용자가 증가하는 상황에 맞게 Web Server나 WAS를 유연하게 늘릴 수 있는 장점이 있다

무중단 배포

리버스 프록시 환경을 통해 구축 및 쉽고 저렴하게 무중단 배포를 구축할 수 있다.

 

로드 밸런싱

서버가 부담하는 부하를 분산해 주는 기술이 로드 밸런싱인데, 트래픽이 증가하면, 기존 서버의 성능을 높이는 Scale up을 진행하거나,

물리적 또는 논리적으로 여러대의 서버를 두어 트래픽을 분산시키는 scale out 방식을 취해 대처하는데, scale out 전략을 취할 경우

로드 밸런싱이 필요해진다고 한다.

 

서버가 두 대 이상으로 늘어날 때, nginx를 서버 앞에 두어서 WAS를 중계해주는 역할을 수행하게 되는데,

그 때 NGINX를 서버 앞에 두어서 WAS를 중계해주는 역할을 수행하게 되는데 nginx가 받는 요청의 Load를 분산시켜준다

 

 


Reference

https://velog.io/@davidko/Nginx%EB%A5%BC-%EC%82%AC%EC%9A%A9%ED%95%98%EB%8A%94-%EC%9D%B4%EC%9C%A0

https://kanoos-stu.tistory.com/entry/Nginx

728x90
댓글수0