Notice
Recent Posts
Recent Comments
Link
«   2025/05   »
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 29 30 31
Tags
more
Archives
Today
Total
관리 메뉴

사적인 블로그

[Server] Web-server, WAS, L4/L7 정리 본문

TIL

[Server] Web-server, WAS, L4/L7 정리

DevYeri 2025. 1. 23. 19:02

만날 헷갈리는 웹서버와 와스
이제는 제대로 정리할때가 되었다

 

# Web-server

  • url 입력으로 페이지 요청
  • HTTP 로 소통함
  • index.html
  • static source 전달
  • 로드밸런싱

web-server는 보통 아키텍쳐 최상단에서 client와 HTTP로 소통하며 서버에 온 요청을 요리조리 처리한다.
본인이 처리할 수 있는건 바로 처리하되(정적 소스) 본인이 처리하기 힘든건 WAS로 넘긴다.
이때 WAS에 큰 부하가 되지 않을 수 있도록 로드밸런싱 기능도 갖추고 있는경우가 있는데
이렇게 client와 바로 소통하는, 애플리케이션 계층에서 사용되는 로드밸런서는 L7 로드밸런서라고 한다.

 

# WAS (Web Application Server)

  • HTTP로 소통
  • 주로 DB와 같이 작동됨
  • 동적인 요청을 받아 처리
  • web server의 일을 거의 다 할 수 있음

정적소스는 웹서버에서 처리되니, 동적소스 : 대부분, DB와 연관되어 작업외어야하는 소스, 즉 비즈니스 로직 등을 맡고있다.
was에서도 웹서버의 일을 할 수 있기 때문에 아키텍쳐상 client - was 이렇게 직진으로 넘어오는 구조도 있는데
사실 이럴 경우 요청이 많아지면 was에서 정적/동적 소스를 모두 처리해야해 부하가 심해지기때문에
client - web-server - was 가 일반적으로 보인다.


우리회사는 client - web-server - was - DB의 아키텍쳐로 사용되는데(보통 어느정도 규모에서는 이럴듯)
정확하게 말하면 was는 front와 back으로 한번더 나뉘어지며, 이 사이에 L4 로드밸런서가 하나 더 있다.
L4 로드밸런서는 IP주소, 포트 기반으로 트래픽을 분배해주는데 프론트에서 백 api 호출 요청을 여러대의 서버에 잘 분산해서 요청하며 진행된다.

 

 

 

 

ref :

https://yozm.wishket.com/magazine/detail/1780/

https://velog.io/@redgem92/Web-Web-Server-Architecture