티스토리 뷰

기술 면접

Nginx

LuxuryCoding 2021. 12. 13. 11:04
728x90

1. Nginx는 뭘까? 

엔진엑스 사용하는 곳

Naver, kakao, github, netflix 대형 급 아이티 회사에서 씀

--> 안쓰는 회사를 찾기가 어려움

 

Web Server  HTTP를 통해 웹 브라우저에서 요청하는 HTML 문서나 오브젝트(이미지 파일 등)를 전송해주는 서비스 프로그램을 말한다. (정적인 자원을 처리해주는 것!)

EX) Happy House Build 된 파일 , Vue.js index.html 이것이 정적 파일

WAS : 클라이언트 요청에 대해 동적인 처리가 이뤄진 후 응답.

EX) Happy House Backend Login-API

  • 클라이언트에서 로그인 요청
  • 웹 서버가 로그인 정보를 가지고 실제 로그인을 처리
  • WAS에서 로그인 처리 로직을 가지고 있음
  • 이러한 과정을 진행해주는 것이 동적인 처리 즉 WAS의 역할!

 

 

그렇다면 Nginx 는 Web Server 일까 WAS 일까?

Web Server 입니다.

 

 

 

2. Nginx 왜 사용할까?

 

  • 빠르다 👍

 

X축 동시 요청 3천 개의 동시 요청이 발생했을 때

Nginx 50개 요청일 때랑 3000개 일때랑 메모리 사용량이 비슷함

아파치 요청이 많을 때는 메모리 수도 늘어난다

Nginx는 메모리 사용량을 굉장히 효율적으로 사용한다.

 

 

초당 요청 처리수

Nginx : 초당 처리를 12000개 할 수 있다.

동시 요청자가 많아질수록 다른 것들에  비해서 초당 처리할 수 있는 게 상당히 많다.

 

👍 점유율 : 이제는 Nginx

 

  • Reverse Proxy

 

Proxy :  대리 해주는거

  • forward Proxy :
    • Client와 Internet 사이 있음
  • reverse Proxy :
    • Internet과 appServer사이에 존재하는 서버
    • 요청에 따른 처리를 어떤 서버로 할지 밸런싱 있게 조율해주는 로드밸런싱이 가능하다  
      로드벨런싱
      • 캐시 서버가 가능하다  👉 캐시?
      • 자주 요청되는 클라이언트 요청을 저장(캐싱)해둘 수 있다.
      • 한번 더 요청 있는 경우 백 단까지 안 가고 바로 응답 가능 
      • 보안 이점 : 외부에서 어디서 온 요청인지 알 수 없게끔 해준다. IP 숨기기 등과 같은 거 

 

  • SSL 지원
    • 웹사이트와 브라우저(혹은, 두 서버) 사이에 전송된 데이터를 암호화하여 인터넷 연결을 보안을 유지하는 표준 기술

우리 사이트는 보안 처리가 잘 되어 있다 라는 것을 인증해주는 것 SSL이라는 인증서

HTTPS Nginx를 쓰면 쉽게 설정할 수 있다.

 

 

정리

  • Nginx는 적은 양의 자원으로 많은 양의 트래픽을 처리할 수 있다. (👍 대량의 데이터를 처리할 때 유리)
    • 요청에 따라 추가적으로 자원을 사용하지 않기 때문에 많은 요청이 들어왔을 때 느려지지 않는다.
    • 하지만 너무 많은 요청을 받으면 처리하지 못하는 것은 Apache와 마찬가지이다. 👎
      • Nginx라도 당연히 무한대의 요청을 받을 수 있는 것은 아니다. 
    • 비동기로 Context Switching이 적다. 👍
      • Context Switching : 현재 진행하고 있는 Task(Process, Thread)의 상태를 저장하고 다음 진행할 Task의 상태 값을 읽어 적용하는 과정
  • 우리 프로젝트에 Reverse Proxy (Nginx)를 도입 시 어떤 이점이 있을까?
    • Reverse Proxy 위치에서 도입할 수 있는 기술들이 곧 이점
      • 캐싱, 로드 밸런싱, 보안 
    • Client에게 실제 서버 ip를 숨길 수 있다.
      • 보안적으로 안전
      • Client는 Reverse Proxy가 실제 Server라고 생각하고 접속하게 된다.

 

참고자료

비동기, 이벤트 루프

캐시

https://www.youtube.com/watch?v=ZJpT-Wa-pZ8

'기술 면접' 카테고리의 다른 글

REST API 가이드  (2) 2022.02.07
[Back-end] Java 질문 정리  (0) 2021.10.12
Spring Framework and Spring Boot  (0) 2021.10.01
댓글
최근에 달린 댓글
최근에 올라온 글
Total
Today
Yesterday
«   2025/04   »
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