실무에서 흔히 Nginx와 Spring 혹은 Node.js 서버를 함께 사용한다.
이 둘은 어떤 역할을 나눠서 담당하고 있을까?

역할 분리의 이유

  • 웹서버(Nginx) 는 요청과 응답을 빠르게 처리하고, 정적 파일을 제공한다.
  • WAS(Spring, Node.js) 는 DB 조회, 인증, 계산 등 비즈니스 로직을 처리한다.
  • 트래픽이 많을수록 모든 요청을 WAS가 처리하면 부하가 커지고 비효율적이다.
  • 따라서 웹서버가 앞단에서 가볍게 처리하고, 복잡한 요청만 WAS로 넘긴다.

역할 비교

구분웹서버 (Nginx)WAS (Spring, Node.js)
역할요청/응답 처리, 정적 파일 제공동적 요청 처리, 비즈니스 로직 수행
예시HTML, CSS, JS, 이미지 응답로그인, 결제, DB 조회
특징빠르고 가벼움자원 소모 큼, 연산 복잡
기타리버스 프록시, 로드밸런싱, 압축 등API 처리, 트랜잭션 처리 등

구조 예시

사용자

Nginx (웹서버)

Spring / Node.js (WAS)

DB, 외부 API 등

업로드테스트