본문 바로가기

10분 테코톡

[10분 테코톡] WebServer 와 Was

728x90

1. Web Server란?

- 웹브라우저(클라이언트)로부터 HTTP 요청을 받아 HTML 문서와 같은 정적 컨텐츠를 제공하는 프로그램

 

2. Web Server의 기능

- 클라이언트가 정적 컨텐츠 요청시, 정적 컨텐츠를 제공

- 클라이언트가 동적 컨텐츠 요청시, Web Application Server(WAS)로 전달, WAS가 처리한 결과를 클라이언트에 전달

 

3. Web Application Server(WAS)란?

- DB조회나 다양한 로직 처리를 요구하는 동적인 컨텐츠를 제공하기 위해 만들어진 프로그램

 

4. WAS의 기능

- 클라이언트로 부터 HTTP요청을 받을 수 있다. (대부분의 WAS는 Web Server를 내장하고 있다.)

- 요청에 맞는 정적 컨텐츠(html,jpeg,css...)를 제공

- DB조회 혹은 다양한 로직 처리를 통해 동적 컨텐츠를 제공

 

5. WAS가 다 해주는데 Web Server가 왜 따로 필요한가?

<책임분할을 통한 서버 부하 방지>

- 정적 컨텐츠는 Web server, 동적 컨텐츠는 WAS가 담당

<여러 대의 WAS 로드밸런싱>

- WAS가 처리해야 하는 요청을 여러 WAS가 나누어서 처리할 수 있도록 설정

<여러 대의 WAS Health check>

- WAS가 처리해야 하는 요청을 여러 WAS가 나누어서 처리할 수 있도록 설정

<보안>

- 리버스 프록시를 통해 실제 서버를 외부에 노출하지 않을 수 있다.

* Health check란?
- 서버에 주기적으로 HTTP 요청을 보내 서버의 상태를 확인(url요청에 200응답이 오는지)
- Interval, Fails, Passes 사용
- Interval : health check를 통해 서버 상태를 확인하는 요청을 날리는 주기(default:5초)
- Fails: n회 연속 실패하면 서버가 비정상이라고 인지 (default: 1회)
-passes: 서버가 다시 복구되어 요청이 n번 연속 성공하면 서버가 정상인 것으로 인지(default:1회) 

6. 결론

서비스 확장성, 안정성을 고려한다면 앞단에 Web server를 두는 것이 유리

 

7. 용어정보

정적 컨텐츠

- 요청 인자 값에 상관없이 달라지지 않는 컨텐츠

- 어느 사용자 요청이던 항상 동일한 컨텐츠

동적 컨텐츠

- 요청 인자에 따라 바뀔 수 있는 컨텐츠

 

 

 

 

출처:

https://youtu.be/mcnJcjbfjrs

 

'10분 테코톡' 카테고리의 다른 글

[10분 테코톡] DTO 와 VO  (6) 2021.06.09
[10분 테코톡] Spring AOP  (0) 2021.06.08
[10분 테코톡] MVC 패턴  (0) 2021.06.06