일 | 월 | 화 | 수 | 목 | 금 | 토 |
---|---|---|---|---|---|---|
1 | ||||||
2 | 3 | 4 | 5 | 6 | 7 | 8 |
9 | 10 | 11 | 12 | 13 | 14 | 15 |
16 | 17 | 18 | 19 | 20 | 21 | 22 |
23 | 24 | 25 | 26 | 27 | 28 |
- spring
- 트레이딩 봇 만들기
- 파이썬 가상환경
- 와스 웹서버의 차이
- 파이썬 주식
- 파이썬
- BigDecimal
- Python
- Web Service Architecture
- 프로그래머스
- java
- WAS WebServer 차이
- 즐겨찾기가 가장 많은 식당 정보 출력하기
- 프로그래머스 SQL
- string format
- 변동성 돌파전략
- beautifulsoup
- 프로그래머스 소수
- JavaScript Obejct Notation
- WAS란
- Web Server란
- 리눅스
- JSON특징
- 빗썸 API 사용
- JSON 형식
- pybithumb
- 리눅스 rwx
- 오라클
- 단순 반복 자동화
- 리눅스 777
- Today
- Total
IT 개발자_S
Web Server 와 WAS의 차이가 뭐야? 본문
● Web Server 와 WAS의 차이점을 알아보자.
● Web Server의 특징
● WAS의 특징
아파치서버, NGinx (웹서버) , 아파치 톰캣( WAS)의 용어를 많이 들어 봤을것입니다.
이렇게 용어를 들으면서, 웹서버, WAS 같은거 아니야? 라는 의미로 받아 들여, 혼동이 있었는데,
이번 기회에 WebServer 와 WAS의 차이점을 구분하고 각 특징이 무엇인지 확인하는 시간을 가지고자 합니다.
Web Service Architecture
위의 시스템 구성도는 Client -> WebServer -> WAS-> DB 의 웹 서비스 아키텍쳐의 구성도를 나타난것이다.
각 역할에 맞는 특징을 살펴보자
WebServer 의 개념
웹 브라우저 클라이언트로부터 HTTP요청을 받아 정적인 컨텐츠(.html, css, jpeg등) 를 제공하는 컴퓨터 프로그램
기능 : HTTP 프로토콜을 기반으로 하여 클라이언트(웹브라우저)의 요청을 서비스 하는 기능을 담당.
정적인 컨텐츠 제공 WAS를 거치지 않고 바로 자원을 제공 (Html, css, jpeg).
동적인 컨텐츠 제공을 위한 요청 전달 클라이언트로부터의 요청을 WAS서버에게 전달, WAS 응답 결과를 전달한다.
Web Server의 예 아파치 서버, Nginx 등
WAS(Web Application Server)의 개념
DB 조회나 다양한 처리 로직 처리를 요구하는 동적인 컨텐츠 제공하기 위한 Application Server
클라이언트 요구사항을 처리하는 미들웨어 (소프트웨어 엔진)
웹 컨터에니어(JSP, Servelt을 실행시킬수 있는 소프트웨어), 서블릿 컨테이너라고 불린다.
역할 : Web Server + Web Container
구조적으로 분리하여 처리 가능하게 함(분산 트랜잭션, 보안, 메시징, 쓰레드 처리등 )
프로그램 실행환경과 DB접속 기능, 여러개의 트랜잭션 관리 기능, 업무 처리하는 비지니스 로직 수행
Tomcat, Jeus, Web Sphere 등
질문 사항?
만약 Web Server만 있다면, 사용자가 원하는 요청에 대해 결과값을 미리 만들어 놓아야하지만, WAS로 사용자의 반응에 따른 결과를 처리하여 실시간으로 변화하면서 서비스를 제공 할수 있다.
만약 WAS에서 Web Server를 모두 처리한다면?
WAS 성능 부하, Web Server 의 정적인 컨텐츠 처리는 빠르게 클라인언트에 처리하는게 좋음 페이지 노출 시간 단축
물리적 분리로 인한 보안 강화 물리적 분리
Load Balancing을 위해 Web Server 사용 , fail over(장애 극복) Web Server, WAS 서로 장애가 있더라도 무중단 서비스 가능
결론 : 자원 이용의 효율성 및 장애 극복, 배포 및 유지보수의 편의성을 위해 물리적으로 분리하여 사용하는게 장점이 크다.
WAS 처리 방법
Web Server 로 부터 요청한 데이터는 WAS는 web.xml을 참조하여 해당 Servlet에 대한 Thread를 생성(Thread pool)하고
Thread는 serviec 를 통해 e데이터를 처리한후 WAS는 HttpResponse 형태로 바꾸어 Web Server에 전달한다.
전달 후 Thread는 종료
'IT > 서버' 카테고리의 다른 글
리눅스 쉘(Shell) 스크립트 작성 및 실행 방법 (0) | 2022.01.04 |
---|