https://nginx.org/en/

높은 성능을 위해 개발된 웹 서버 소프트웨어. 이때, 웹 서버는 브라우저의 정적 페이지 요청을 처리하는 HTTP Web Server 의 역할과 동적 페이지 요청인 경우 Reverse Proxy Server로 활용하여 서버를 호출하여 WAS 서버의 부하를 줄이는 역할을 한다.

apache는 클라이언트 요청 당 새로운 스레드나 프로세스를 만들어 처리하기 때문에 요청이 많아지면 CPU나 메모리의 낭비가 심해진다.
이에 비해 nginx는 Event-Driven 구조로 고정된 프로세스만 생성해 사용하고 여러 개의 connection을 이벤트 핸들러를 통해 비동기 방식으로 처리한다. 추가로 프로세스나 스레드를 생성하지 않기 때문에 추가적인 생성 비용이 발생하지 않고 적은 자원으로 효율적인 운용이 가능해진다.
포워드 프록시(forward proxy) 리버스 프록시(reverse proxy) 의 차이
https://www.lesstif.com/system-admin/forward-proxy-reverse-proxy-21430345.html
리버스 프록시란 외부 클라이언트에서 서버로 접근 시, 중간에서 중개자 역할을 하여 내부 서버로 접근할 수 있도록 도와주는 서버이다.
- 보안 : 사용자로부터 내부망에 있는 서버를 직접적으로 노출 시키지 않을 수 있다. 모든 request는 리버스 프록시 서버에서 받은 후 매핑되는 내부 서버로 request를 전달해주는 역할을 한다. Nginx는 SSL 설정도 가능하다
- 로드밸런싱 : 리버스 프록시 서버가 알고 있는 내부 서버에 대한 정보를 통해 각 서버의 상태에 따라 부하를 분산시키며 request을 전달할 수 있다.
https://aws.amazon.com/ko/what-is/load-balancing/

애플리케이션을 지원하는 리소스 풀 전체에 네트워크 트래픽을 균등하게 배포하는 방법.
트래픽 증가 시 Scale-out 방식으로 낮은 성능의 서버를 증설하게 된다면 여러 대의 서버로 트래픽을 균등하게 분산해주는 로드밸런싱이 필수적이다.
로드밸런싱 이점
로드 밸런서는 다음 방식 중 하나를 사용하여 네트워크 트래픽을 전송할 위치를 결정합니다.
https://www.vmware.com/kr/topics/glossary/content/software-load-balancing.html