Web Service Architecture
🌐 Web Service Architecture란?
정의
Web Service Architecture는 웹 서비스가 클라이언트 요청을 받아 처리하고 응답을 반환하기까지의 전체 구조를 말한다. Client, Web Server, WAS, DB, Load Balancer가 어떻게 역할을 나누는지가 핵심이다.
✅ 구성 요소
Client
- HTTP 요청을 보낸다.
- 브라우저, 앱, API Client가 여기에 해당한다.
Web Server
- 정적 자원을 처리한다.
- 요청을 앞단에서 받아 필터링하거나 WAS로 전달한다.
WAS (Web Application Server)
- 동적 요청을 처리한다.
- Servlet, JSP, API 응답, 비즈니스 로직 실행을 담당한다.
DB
- 데이터를 저장하고 조회한다.
- WAS와 함께 동작하면서 실제 업무 데이터를 관리한다.
Load Balancer
- 여러 서버로 요청을 분산한다.
- 장애 대응과 트래픽 분산에 사용한다.

🧱 Server Architecture 패턴
| 패턴 | 설명 |
|---|---|
| User → Web Server → DB | 단순 구조, 정적 처리 중심 |
| User → WAS → DB | WAS가 직접 요청을 처리 |
| User → Web Server → WAS → DB | 실무에서 가장 흔한 구조 |
포인트
실무에서는 보통 Web Server와 WAS를 분리해서 사용한다.
🔄 대표 처리 흐름
Client
-> Web Server
-> WAS
-> DB
-> WAS
-> Web Server
-> Client
- Client가 HTTP 요청을 보낸다.
- Web Server가 정적 요청과 동적 요청을 구분한다.
- 동적 요청은 WAS로 전달된다.
- WAS가 DB와 연동해 데이터를 처리한다.
- 최종 응답은 다시 Web Server를 거쳐 Client로 전달된다.
🎯 아키텍처 구성 이유
- Web Server는 정적 리소스를 빠르게 제공해 WAS 부담을 줄인다.
- Web Server를 앞단에 두면 외부 노출 범위를 줄여 보안을 높일 수 있다.
- Load Balancer를 추가하면 트래픽 분산이 쉬워진다.
- Web Server와 WAS를 분리하면 역할과 설정을 나눠 관리하기 좋다.
⚠️ 주의할 점
- 정적 처리와 동적 처리를 혼동하지 않는다.
- 트래픽이 많아지면 분산 구조를 함께 고려해야 한다.
- 각 서버의 역할과 책임을 명확하게 나누는 것이 중요하다.
🧾 정리
Web Service Architecture는 웹 서비스 구성 요소가 요청과 응답을 어떻게 분담하는지를 설명하는 구조다. Client, Web Server, WAS, DB, Load Balancer의 역할을 함께 이해해야 전체 흐름이 보인다.
댓글남기기