WEB개념

[WEB개념] web was 분리이유

wooyeon06 2021. 9. 1. 09:29

WEB서버와 WAS의 차이

WEB서버는 정적인 컨텐츠를 제공하는 서버이고 WAS는 동적인 컨텐츠를 제공하는 서버이다.

예전의 WAS에서는 정적인 웹서버 기능을 제공하지 않았지만 오랜 기간 WAS가 발전을 거듭하여 최근 WAS들은 동적인 컨텐츠 뿐만 아니라 정적인 컨텐츠도 제공해주고 있다.

그렇기 때문에, WEB서버 없이 WAS만 존재하는 것도 가능하다.

 


 

그런데도 왜 WEB서버와 WAS를 분리하는 걸까?

 

위에서 말했듯이 WAS만 있어도 서비스를 제공하는 데에는 문제가 없다.
그러나 주로 서버 구성 시에 WEB서버와 WAS를 분리하여 구성한다.

그 이유는 여러 가지가 있는데 그 중 몇 가지를 알아보자.

 

1. 기능을 분리하여 서버 부하를 방지한다.

 

WAS가 혼자서 모든 요청을 처리할 수 있다고는 하지만 그만큼 WAS가 감당하는 부담이 커지게 된다.
그렇기 때문에 기능을 분리해서 각 서버가 감당하는 부하를 줄일 수 있도록 WEB서버와 WAS를 분리한다.

 

 

2. 물리적으로 분리하여 보안을 강화한다.

 

WAS에는 실제 Web Application이 올라가 있기 때문에 외부와 직접 연결이 되어 있다면 중요한 설정 파일이나 리소스들이 외부로 노출될 수 있다.
이를 막기 위해서 WEB서버를 WAS 앞단에 배치해서 리소스를 안전하게 보호할 수 있다.

 

3. WEB서버에 여러 대의 WAS를 연결할 수 있다.

 

규모가 큰 서비스에서는 하나의 WEB서버에 하나의 WAS가 연결된 구조만으로는 많은 요청을 처리하는 데에 어려움이 생긴다.
그렇기 때문에 수많은 요청을 한군데가 아닌 여러 군데에서 처리를 할 수 있도록 동일한 Web Application 여러 개를 띄운다.
이때 여러 대의 WAS에 각각 요청을 들어오도록 하지 않고 앞에 WEB서버를 두고 각 WAS들을 WEB서버에 연결해서 WEB서버로 들어오는 수많은 요청을 각 WAS들에 적절하게 분배해주도록 한다.