웹 서버와 웹 어플리케이션 서버(WAS)

Kim Sung Kyu·2021년 5월 24일
0

Web🚀

목록 보기
2/2
post-thumbnail

웹 서버(Web Server)란?

작성된 HTML페이지, 이미지 등을 네트워크망에 종속되지 않고, 웹서비스를 할 수 있도록 하는 어플리케이션

  • 동적인 데이터를 요청하게 되면 WAS로 요청을 넘겨줌
  • 소프트웨어 관점에서의 웹 서버 : 웹 브라우저 클라이언트로부터 HTTP요청을 받아, HTML문서 등을 반환하는 컴퓨터 프로그램
  • 하드웨어 관점에서의 웹 서버 : 위에서 언급한 기능을 제공하는 컴퓨터 프로그램이 설치되고 실행되는 컴퓨터

대표적인 웹 서버 프로그램

  • Apache
  • Nginx

웹 어플리케이션 서버(WAS)란?


동적 컨텐츠를 제공하기 위해 만들어진 애플리케이션 서버(DB조회, 로직 처리가 요구되는 컨텐츠)

  • 미들웨어의 한 종류로 JSP, Servlet 구동 환경 제공
  • 웹 서버 + 웹 컨테이너

웹 컨테이너란?
- JSP와 서블릿을 실행시킬 수 있는 소프트웨어
- 컨테이너, 서블릿 컨테이너라고도 함
- JSP컨테이너가 탑재 되어 있는 WAS는 JSP페이지를 컴파일 해 동적인 페이지를 생성

EX) 웹 서버에서 JSP를 요청하면 톰캣에서는 JSP파일을 서블릿으로 변환하여 컴파일을 수행하고,
    서블릿 수행결과를 웹서버에게 전달

제공하는 기능

1) 프로그램 실행 환경, 데이터베이스 접속 기능 제공
2) 여러 개의 트랜잭션을 관리
3) 비즈니스 로직을 수행
4) Web Service 플랫폼으로서의 역할

대표적인 WAS 프로그램

  • Tomcat : 아파치 재단에서 관리하는 WAS
  • Jetty : 이글립스 재단에서 관리
  • WebLogic : 오라클에서 관리하는 WAS
  • JBoss : 레드햇에서 관리하는 WAS
  • Jeus : 국내 회사인 티맥스소프트에서 관리하는 WAS

웹 서버와 WAS의 구성에 따른 분류

웹 사이트의 가장 기본적인 구성 환경

  • 모든 콘텐츠를 한 곳에 집중시켜 웹 서버와 WAS의 역할을 동시에 수행
  • 사용자 증가시 스위치 장비를 통해 로드 밸런싱 수행
  • 최적화 측면에서 바람직하지 못함
  • 사용자와 트래픽이 적을 때 효율적

기능적 분류를 통해 효과적인 분산을 유도한 형태

  • 정적인 데이터는 웹 서버에서, 동적인 데이터는 WAS가 처리
  • 웹 서버에서 처리할 것과 WAS에서 처리할 것을 판단하는 건 웹 서버 단의 Configuration을 통해 처리

특정 기능에 대한 서버를 별도로 두고 있는 형태

  • 웹 페이지에서 이미지 비중이 증가하고, 이미지들이 전체 네트워크 비중의 상당부분을 차지
  • 이미지 서버를 따로 구성해 웹 서버와 WAS를 좀 더 효과적으로 사용할 수 있는 구조
  • 특정 컨텐츠에 집중적인 요청을 받는 경우에도 유용한 구조

    EX) 대학 입시 시즌 경쟁률 조회는 엄청난 트래픽이 발생하고 Reload 또한 빈번하게 일어난다. 이럴 경우 특정시간 간격으로 HTML을 생성하고, 페이지를 특성 서버에 위치시켜 부하를 분산시킬 수 있다.

WAS단을 Logic으로 구분하여 구성한 형태

  • WAS단의 프로그램이 많은 비중을 차지하는 경우, 프레젠테이션 로직과 비즈니스 로직을 담당하는 프로그램을 구분하는 구성
  • 구조가 복잡해지지만, 특성 로직 부분의 부하에 따른 대응이 가능하다는 장점이 있음



참고

https://helloworld-88.tistory.com/71
https://hoon-k.tistory.com/5
https://blog.daum.net/hopcount/8658571
https://opentutorials.org/course/3084/18892 (썸네일 이미지)

profile
꿈꾸던 내가 될꺼야😃

0개의 댓글