• Home
  • About
    • JOOS photo

      JOOS

      Joos's blog

    • Learn More
    • Email
    • Github
  • Posts
    • All Posts
    • All Tags
  • Projects

[WAS와 Web-server 1편]WAS와 웹서버란?(WAS 도입효과)

17 Feb 2019

Reading time ~2 minutes

제 블로그의 모든 글은 IMHO로 쓴 것입니다. 잘못된 부분이 있으면 덧글을 통해서 소통을 하면 더 좋은 글로 발전이 될 수 있을 것 같습니다. 그렇지만 소통을 할 때 서로의 감정을 존중하는 선에서 해주셨으면 좋겠습니다. 감사합니다:) —

이 글은 시리즈 물입니다. 1편 : https://joosjuliet.github.io/was_vs_webserver/
2편 : https://joosjuliet.github.io/appache_tomcat
—

웹 서버와 WAS를 구별 짓는 것은 동적 서버 콘텐츠를 수행하는가? 만약 수행한다면 WAS로 보면 된다.

웹 서버(Web Server)

  • 정적인 HTML이나 이미지를 제공하는 서버.
  • 클라이언트로부터 HTTP 요청을 받아들이고, HTML 문서와 같은 웹 페이지를 정적으로 처리해 반환하는 프로그램
  • 웹 페이지를 클라이언트로 전달하고, 클라이언트로부터 컨텐츠를 전달 받는 역할
  • 인증, 정적 컨텐츠 관리, HTTPS지원, 컨텐츠 압축, 가상 호스팅, 대용량 파일 지원 등의 기능을 지원
  • Apache, 엔터프라이즈 서버, Nginx

WAS(Web Application Server)

  • HTTP를 통해 컴퓨터나, 장치에 애플리케이션을 수행해주는 미들웨어
  • 동적인 처리를 담당하는 서버
  • DB 서버와 같이 서비스를 수행
  • 분산 트랜잭션, 보안, 메시징, 쓰레드 처리 등의 기능 처리
  • Tomcat
  • 실무에서 둘을 연동하여 사용하는데, WAS는 동적 처리에 최적화 되어 있는 서비스이기 때문에처리속도를 위해,
    정적처리는 웹서버에서 처리를 하고, 동적 컨텐츠는 WAS에서 처리한다.

WAS의 일반적인 기능

  • Web 환경을 위한 n-tier Architecture 플랫폼
  • GUI과 Business Logic의 분리 운영
  • Thread 관리
  • 부하조절(Load Balancing) 기능 지원
  • 장애대책(Fail-Over) 기능 지원
  • Transaction 처리 자동화
  • Web Service 플랫폼으로써의 역할

was와 web서버

was_web-server

WAS 도입효과

(사용 목적에 따라 다르다)

  • 안정된 시스템 구성
    • 안정적 서비스 보장, 자동적인 어플리케이션 복구 기능 제공, 업무 로직이 중간 어플리케이션 서버에 존재, 쉽고 빠르게 구축
  • DB성능 보장
    • WAS서버가 DB서버와의 최적 사용 조절화, DB connection pool을 조절해 DB connection 관리 및 트랜잭션 처리
  • 비용절감
    • 서버 리소스의 원활한 사용

    아파치(Apache)란 무엇일까? 1995년 처음 발표된 WWW(World Wide Web) 서버용 소프트웨어를 말합니다. 대부분의 운영체제에서 운용이 가능하며 오픈소스 라이선스를 가지고 있어 자유롭게 사용할 수 있습니다. 쉽게 말해서 표현한다면 웹 서버(Web Server)라고 표현하면 되겠네요.

    톰캣(Tomcat)이란 무엇일까? 그렇다면 톰캣은 무엇일까요? 아파치 소프트웨어 재단에서 개발한 서블릿 컨테이너만 있는 웹 애플리케이션 서버를 말합니다. WAS(Web Application Server)라고 말하는데, 이는 웹 서버와 웹 컨테이너의 결합으로 다양한 역할을 수행할 수 있는 서버를 말합니다. WebLogic, Jeus, Tomcat 등이 있답니다. (Tomcat을 WAS라고 보면 안 된다는 의견도 있지만! 우선 WAS라는 관점으로 봅시다.) 클라이언트의 요청이 들어오면 내부의 실행 결과를 만들어내고 이를 다시 전달해주는 역할을 합니다.

https://madplay.github.io/post/apache-tomcat-modjk

그렇다면 왜 아파치와 톰캣을 연동할까? “왜 WAS만 사용하지 않고 웹 서버와 같이 사용할까?” WAS

만일 웹 서버가 없이 WAS만 사용한다고 가정해봅시다. 웹 페이지(Web Page)에는 정적인 리소스뿐만 아니라 동적인 리소스가 함께 존재합니다. WAS의 정적 데이터 처리로 인해 동적 데이터에 대한 처리는 늦어지게 될 것이고 결과적으로 본다면 클라이언트의 요청에 대한 응답 시간은 전반적으로 늘어나게 될겁니다.

그러니까 사용 목적에 따라 다르다고 볼 수 있는데요. HTML 파일이나 이미지 파일과 같은 정적 컨텐츠들은 WAS까지 거치는 것보다 웹 서버를 바로 통하는 것이 더 빠릅니다. 이러한 맥락으로 본다면 웹서버인 아파치와 WAS인 톰캣을 연동하여 각자의 역할 분담이 가능하므로 더 좋겠지요? 또! 하나의 웹 서버에 여러 개의 톰캣을 연결해서 분산시킬 수 있는 로드 밸런싱(Load Balancing)을 구현할 수도 있습니다.

이글이 제일 was랑 webserver설명과 톰캣과 아파치 설명이 명확하다

https://uroa.tistory.com/67?category=657568

spring mvc에 대한 설명이 명확하다 https://uroa.tistory.com/68?category=657568 — 출처: https://parkbrother.tistory.com/entry/Web-%EC%84%9C%EB%B2%84%EC%99%80-Was-%EC%84%9C%EB%B2%84%EC%9D%98-%EC%B0%A8%EC%9D%B4%EC%97%90-%EB%8C%80%ED%95%B4%EC%84%9C-%EC%95%8C%EC%95%84%EB%B3%B4%EC%9E%90



WebWASweb_server Share Tweet +1