🌐 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의 역할을 함께 이해해야 전체 흐름이 보인다.


연결문서

댓글남기기