Middleware 가이드

요청이 브라우저에서 DB까지 가는 길을 따라 Web Server, WAS, 연동, TLS, 로드밸런싱, 로그를 정리한 학습 가이드


미들웨어는 운영체제와 애플리케이션 사이에서 요청 처리, 실행, 연동을 담당하는 계층이다. 이 가이드는 제품별 매뉴얼이 아니라 요청 흐름을 따라 읽는 학습 가이드다.

목표는 Nginx, Apache, Tomcat 설정을 각각 외우는 것이 아니라 다음 질문에 답할 수 있게 되는 것이다.

요청이 들어온다
  -> 어디서 TLS가 끝나는가
  -> 어디서 라우팅되는가
  -> 어디서 애플리케이션이 실행되는가
  -> 어디서 DB 연결이 만들어지는가
  -> 어디서 로그를 볼 것인가

전체 지도

Client
  -> Web Server / Reverse Proxy
  -> WAS / Servlet Container
  -> Application
  -> DBMS

읽는 순서

순서문서답해야 하는 질문
01요청 흐름과 계층요청은 브라우저에서 DB까지 어떤 계층을 지나는가
02Web Server 역할Web Server는 정적 파일, TLS, 라우팅, 프록시 중 무엇을 담당하는가
03WAS 역할WAS는 애플리케이션 실행과 요청 매핑을 어떻게 담당하는가
04Web-WAS 연동Web Server는 어떤 방식으로 WAS에 요청을 넘기는가
05WAS-DB 연동애플리케이션은 DB 연결을 어디서 만들고 관리하는가
06SSL/TLS인증서는 어디에 두고 TLS는 어느 계층에서 종료하는가
07Load Balancing과 세션트래픽을 나눌 때 세션은 어떻게 유지하는가
08로그와 장애 진단502, 404, 500을 계층별로 어떻게 좁히는가
09운영 체크리스트구축·점검·장애 대응 때 무엇을 순서대로 볼 것인가

참고 모드

학습 경로를 먼저 읽고, 실제 제품 설정을 볼 때는 제품별 문서로 내려간다.

순서문서답해야 하는 질문
10Apache HTTP Server 개념과 특징Apache httpd는 어떤 역할을 하고 request, connection, worker를 어떻게 보는가
11Nginx 기초Nginx의 server, location, upstream은 어떻게 요청을 나누는가
12Apache Tomcat 기초Tomcat의 Connector, Host, Context는 어떤 역할을 하는가
13Apache MPM과 KeepAliveApache worker 수와 KeepAlive가 처리량에 어떤 영향을 주는가
14Tomcat Connector와 JVM ThreadTomcat thread, Connector, JVM 옵션을 어떻게 함께 보는가
15Nginx worker와 upstream timeoutNginx worker, upstream, timeout을 어떻게 함께 보는가
20Apache httpd-Tomcat mod_proxy 연동HTTP reverse proxy로 Tomcat에 요청을 넘길 때 무엇을 확인하는가
21Apache httpd-Tomcat mod_jk 연동AJP 기반 mod_jk 구성은 어떤 파일과 worker로 동작하는가
22Nginx-Tomcat Reverse Proxy 연동Nginx proxy_pass로 Tomcat에 요청을 넘길 때 무엇을 확인하는가
23Apache httpd-Tomcat mod_proxy_ajp 연동Apache proxy 문법으로 AJP backend에 연결할 때 무엇을 확인하는가
80502/503/504 장애 런북Web Server와 WAS 사이 오류를 어떤 순서로 좁히는가

제품별 설정 파일이나 명령어를 빠르게 확인할 때는 부록을 본다.

관련 블로그 기록

작성 기준

각 챕터는 아래 요소를 필요할 때 골라 쓴다. 제품 문서와 연동 문서까지 같은 제목을 반복하지 않고, 문서가 답해야 하는 질문에 맞춰 섹션 이름을 조정한다.

요청 처리 흐름
핵심 정의
왜 필요한가
구성요소와 설정
제품별 구현 관점
점검 포인트
관련 블로그 기록
닫기 전 질문

0109는 흐름을 따라 읽고, 1023은 제품과 연동 방식을 공부할 때 읽는다. 80은 장애 대응 때 펼쳐보는 런북이고, 90은 필요할 때 빠르게 확인하는 레퍼런스다.