이번 시간에는 3-Tier의 1st-Tier에 해당하는 NginX 로드벨런서를 설정해보자.
NginX와 Load Balancing
NginX
Nginx는 기본적으로 고성능 웹 서버(Web Server)로서 사용자의 최초 요청을 받아들이는 웹 계층(Presentation Tier)을 담당한다. 동시에 클라이언트의 요청을 대리하여 백엔드 서버로 중개해 주는리버스 프록시(Reverse Proxy)역할을 수행하는 초경량 오픈소스 소프트웨어다.
⚡ 막강한 내장 기능: 로드 밸런서(Load Balancer) Nginx는 여기에 추가적으로 매우 강력한로드 밸런서역할을 수행할 수 있는 기능을 내장하고 있다. 원래 실무에서는 트래픽 분산을 위해 클라우드 서비스사에서 제공하는 고가의 L7 로드 밸런서(GCP HTTP(S) Load Balancing 등)를 사용해야 한다. 하지만 무료 실습 환경 구성을 위해, 무료 VM 위에 Nginx를 직접 설치하여 L7 로드 밸런서(부하 분산기) 역할을 하도록 우회 구현한다.
결과적으로 Nginx는 추후 Vue.js 같은 프론트엔드 정적 파일 서빙(웹 서버)과 백엔드 WAS(Spring Boot)로 요청을 균등하게 토스해 주는 부하 분산(리버스 프록시) 역할을 한 몸으로 동시에 깔끔하게 처리해 준다.