길민호(ethan.mino)
코딩수첩
길민호(ethan.mino)
전체 방문자
오늘
어제
  • 분류 전체보기 (215)
    • Computer Science (0)
    • Web (6)
      • CSS (0)
      • HTML (0)
    • Node.js (0)
    • Javascript (2)
    • Java (46)
      • Spring (27)
      • Jsp (0)
    • C\C++ (2)
    • Programming (0)
    • AI (0)
    • Database (7)
    • Git (5)
    • Algorithm (119)
      • Stack (0)
      • Queue (0)
      • Linked List (0)
      • Sort (0)
      • Simulation (27)
      • Recursion (0)
      • Backtracking (4)
      • Two Pointer (3)
      • Dynamic Programming (19)
      • Greedy (10)
      • Graph (3)
      • Dijkstra (1)
      • BFS\DFS (8)
      • Floyd (1)
      • MST (4)
      • Tree (4)
      • Binary Search (8)
      • Binary Search Tree (4)
    • IntelliJ (4)
    • Vscode (0)
    • Operating System (0)
    • 후기 (3)
    • 성장일지 (13)
    • 스터디 (7)
    • 설치 (1)

블로그 메뉴

  • 홈
  • 태그
  • 방명록

공지사항

인기 글

태그

  • ㅡ

최근 댓글

최근 글

티스토리

hELLO · Designed By 정상우.
길민호(ethan.mino)

코딩수첩

WAS란?
Web

WAS란?

2020. 7. 6. 23:23

WAS(Web Application Server)란?


  • WAS는 일종의 미들웨어로 웹 클라이언트(보통 웹 브라우저)의 요청 중 웹 어플리케이션이 동작하도록 지원하는 목적을 가진다.
  • WAS는 3가지의 중요한 기본 기능을 가진다.(이 외에도 다양한 기능을 제공)
    • 프로그램 실행 환경과 Database 접속 기능을 제공한다.
    • 여러개의 트랜잭션(논리적인 작업 단위)을 관리한다.
    • 업무를 처리하는 비즈니스 로직을 수행한다.
  • WAS도 보통 자체적으로 웹 서버 기능을 내장하고 있다.
  • java를 이용하여 작성된 웹 어플리케이션은 WAS가 있어야만 실행할 수 있다.
  • 웹서버는 보통 정적인 콘텐츠를 웹브라우저에 전송하는 역할을 수행하고, WAS는 프로그램의 동적인 결과를 웹 브라우저에게 전송하는 역할을 수행한다. (프로그램이 동작해서 얻은 결과를 보통 동적인 콘텐츠라고 한다.)
  • 현재는 WAS가 가지고 있는 웹 서버도 정적인 컨텐츠를 처리하는데 있어서 성능상 큰 차이가 없다.
  • 규모가 커질수록 웹 서버와 WAS를 분리한다. 그 목적은 장애 극복 기능(failover)인 경우가 많다.
    • WAS만 있어도 정적인 콘텐츠와 동적인 콘텐츠를 제공 할 수 있지만, 현업에서는 다음과 같은 형태로 구성하는 경우가 많다.
    • 사람들이 많이 접속하는 대용량 웹 어플리케이션의 경우에는 보통 다수의 서버를 사용하는데, WAS에서 동작하는 프로그램에 오작동이 발생해서 WAS를 재시작 해야하는 경우가 있다.
      문제가 있는 WAS를 재시작 할 때, 앞 단의 웹 서버에서 먼저 해당 WAS를 이용하지 못하도록 하고, WAS를 재시작 한다면 해당 웹 어플리케이션의 이용자들은 WAS의 문제 발생 여부와 상관없이 계속 웹 어플리케이션을 사용할 수 있을 것이다.
    • 이러한 처리를 장애 극복 기능이라고 하며, 장애 극복 기능은 대용량 웹 어플리케이션을 무중단으로 운영하기 위한 중요한 기능이다. 이러한 기능 때문에 웹 서버가 WAS 앞 단에서 동작하도록 하는 경우가 많다.  

 

참고 URL

  • https://www.edwith.org/boostcourse-web/lecture/16666/

'Web' 카테고리의 다른 글

Session이란?  (0) 2020.07.17
쿠키란?  (0) 2020.07.17
상태정보란?  (0) 2020.07.17
Web API란?  (0) 2020.07.01
REST API란?  (0) 2020.07.01
    'Web' 카테고리의 다른 글
    • 쿠키란?
    • 상태정보란?
    • Web API란?
    • REST API란?
    길민호(ethan.mino)
    길민호(ethan.mino)
    💻 호기심 많은 서버 개발자 길민호입니다.

    티스토리툴바