Web Server vs WAS [우테코 테코톡]

eunsiver·2023년 3월 25일
0

우테코 테크톡

목록 보기
2/3

Web Server(웹 서버란)?

  • 웹 브라우저(클라이언트)로부터 HTTP 요청을 받아 HTML 문서와 같은 정적 컨텐츠를 제공하는 프로그램
  • 클라이언트로부터 HTTP 요청을 받을 수 있다.
  1. 정적 컨텐츠 요청 시
    • 정적 컨텐츠를 제공할 수 있다.
  2. 동적 컨텐츠 요청시
    • Web Application Server(WAS)로 전달하여 WAS가 처리한 결과를 클라이언트에 전달

Web Application Server(WAS)

  • DB조회나 다양한 로직 처리를 요구하는 동적인 컨텐츠를 제공하기 위해 만들어진 프로그램
  • 동적 컨텐츠: 요청 인자에 따라 바뀔 수 있는 컨텐츠
  • 클라이언트로부터 HTTP 요청을 받을 수 있다.(대부분의 WAS는 Web Server 내장)
  • 요청에 맞는 정적 컨텐츠를 제공할 수 있다.
  • DB조회나 다양한 로직 처리를 통해 동적 컨텐츠를 제공할 수 있다.

Web Server를 같이 사용했을 때의 장점

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

    • 정적 컨텐츠는 Web Server, 동적 컨텐츠는 WAS가 담당
  • 여러 대의 WAS 로드밸런싱

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

  • 보안

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

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

Health check란?

  • 서버에 주기적으로 HTTP요청을 보내 서버의 상태를 확인(ex 특정 url 요청에 200응답이 오는지?)
  • iterval: health check를 통해 서버 상태를 확인하는 요청을 날리는 주기(기본 5초)
  • Fails: 아래의 경우 3회 연속 실패하면 서버가 비정상이라고 인지(기본 1회)
  • Passes: 서버가 다시 복구되어 요청이 2번 연속 성공하면 서버가 정상으로 인지(기본 1회)

Web Server와 WAS에 대해서 공부를 해보았다.
다음 프로젝트를 만들어볼 때, Web Server와 WAS를 이용해 보고 여러 WAS를 사용하여 로드밸런싱을 한번 사용해봐야겠다!

참고
https://www.youtube.com/watch?v=mcnJcjbfjrs

profile
Let's study!

0개의 댓글