사적인 블로그
[Server] Web-server, WAS, L4/L7 정리 본문
만날 헷갈리는 웹서버와 와스
이제는 제대로 정리할때가 되었다
# 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
'TIL' 카테고리의 다른 글
[Cache] Cache 전략(read, write) (0) | 2025.02.04 |
---|---|
[Linux] egrep 문 or, and 조건 (0) | 2025.02.03 |
[Linux] 리눅스 권한(permisson) 알아보기 (feat.ls -l) (0) | 2025.01.16 |
[AWS] 관리콘솔 VPC(Virtual Private Cloud) 화면 요소 (1) | 2025.01.15 |
[CS/Cloud/OS] NCP avg_cpu_used_rto 와 bzip2 의 관계 (feat.L3캐시) (0) | 2025.01.14 |