웹 시스템 구성

HYUNBIN CHO·2021년 4월 22일
0

spring

목록 보기
15/23
post-thumbnail

🔷 웹

🔸 http를 기반으로 통신한다.
🔸 클라이언트에서 서버로 데이터를 전송할 때, 서버에서 클라이언트로 데이터를 응답할 때 http라는 프로토콜 기반으로 동작한다.
🔸 HTML, TEXT, IMAGE, 음성, 영상 파일, JSON, XML(API) 등 모든 형태의 데이터를 전송 가능하다.

🔷 웹서버(Web Server)

🔸 http를 기반으로 동작하는 서버
🔸 정적 리소스(정적HTML, CSS, JS, 이미지 영상)를 제공
🔸 NGINIX, APACHE가 대표적

🔷 웹 애플리케이션 서버(WAS: Web Application Server)

🔸 http를 기반으로 동작
🔸 웹 서버의 기능(정적리소스 제공) + 프로그램 코드를 실행해서 애플리케이션 로직 수행(동적html, HTTP API(JSON), 서블릿, JSP, 스프링MVC)
🔸 TOMCAT, JETTY, UNDERTOW가 대표적

🔷 웹 서버와 웹 애플리케이션 서버의 차이

🔸 웹 서버: 정적 리소스
🔸 WAS: 애플리케이션 로직
🔸 WAS가 애플리케이션 코드를 실행하는데 특화되어 있다.

🔷 웹 시스템 구성

🔸 WAS와 DB만으로도 웹 시스템을 구성할 수 있다.
🔸 하지만 그렇게 되면 WAS가 너무 많은 역할을 담당하기 때문에 서버 과부하의 우려가 있다.
싼 정적 리소스 파일 제공하는 것 때문에 비싼 애플리케이션 로직 수행이 어려울 수 있다.
🔸 WAS장애 시 오류 화면 노출이 불가능하다.

🔷 그래서

🔸 이런 구조로 역할을 나누어서 웹 시스템을 구성한다.
🔸 정적 리소스는 웹 서버에서 처리하고 동적 리소스(중요한 애플리케이션 로직)가 필요한 경우 WAS에 넘겨서 처리한다.
🔸 웹 서버는 잘 죽지 않고 WAS는 잘 죽는다. ➡️ WAS나 DB장애 시 WEB서버가 오류 화면을 클라이언트에 제공할 수 있다.






https://www.inflearn.com/course/스프링-mvc-1/

profile
백견이 불여일타

0개의 댓글