본문 바로가기
IT 관련/Server

WEB-WAS-DB 3-Tier

by 재재IT 2022. 9. 19.

서버 공부를 하다보면 문득 3-Tier라고 부르는 내용을 많이 접할 수 있다.

처음 입문자들이 드는 생각은 이게 뭘까? 하는 생각부터 먼저 든다..(보통 그러더라구요 저도 똑같은 사람입니다.)

 

아무것도 모르는 사람으로써 처음부터 천천히 알아보자.

 

1. 먼저 사전용어부터 알아보도록 하자

 - WEB : World Wide Web, 월드 와이드 웹은 인터넷에 연결된 컴퓨터를 통해 사람들이 정보를 공유할 수 있는 전 세계적인 정보 공간을 말한다.

 - WAS : Web Application Server, 웹 애플리케이션과 서버 환경을 만들어 동작시키는 기능을 제공하는 소프트웨어 프레임워크이다.

 - DB : Database, 통합하여 관리되는 데이터의 집합체를 의미합니다.

 

2. 이제 이 용어만 보면 이해가 잘 안가니 정확한 예시로 한번 풀어보자.

 - WEB서버란 우리가 흔히 볼 수 있는 네이버, 다음 등 화면으로 출력해주는 서비스를 하는 기능을 담당한다. 크롬이나 인터넷 익스플로러를 키면 그 자체 화면을 웹이라고 한다. 웹에 기능은 그냥 화면을 출력해주는 기능이라고 생각하면 된다.

 

 - WAS란 웹과 DB와의 연동을 위한 중간자의 입장이라는 표현이 제일 적당할 거 같다. 원래는 WEB과 DB만 있어도 서버는 운영할 수 있고 표출이 가능하다. 그러나 WAS가 있는 이유는 웹서버의 부하분산을 줄이면서 WEB에서 너무 많은 기능을 하면 표출하는데도 문제가 있을 수 있어서 WAS라는 Server를 만들어서 운영한다. 흔히 예로 들면 회사에서 혼자서 모든 업무를 다 할수 있는 사람이 있다. 근데 이 사람이 제일 잘하는 1의 업무만 하면 회사에서는 효율성이 좋지만 1,2,3을 하면 피로도와 작업량에 증가에 따라 1을 못할수도 있다. 그래서 이렇게 두개로 분산시켜 만들어 놓은것이다.

   * WEB-DB 로 동작은 가능하나 왜 WAS가 필요할까?

      이론적으로는 가능하다. 그러나 정적인 요소와 동적인 요소를 나누어 보았을 때 정적인 요소는 빠른 전송이 가능하나, 동적요소를 전송할때는 DB에서 데이터를 가져와서 전송을 하여야 한다. 이럴 경우 시간이 오래걸리는데 이 시간동안 다른 사용자가 접속시 페이지가 느려질 수도 있다. (로딩시간이 길어져서) 그래서 WAS를 사용하며, WEB서버 장애시에 WAS서버를 여러대 두어 Load balancing으로 부하 분산 처리가 가능하다.

 

 - DB는 쉽게 데이터를 저장한 저장소이다. SQL쿼리 문등을 통하여 create, insert등으로 수정, 삭제, 생성이 가능하다.

 

3 Tier 구조 참조 : https://gmlwjd9405.github.io/2018/10/27/webserver-vs-was.html

 

쉽게 이해가 되는지는 의문이다. 간단하고 아는 지식으로 일단 작성해 보았음.

'IT 관련 > Server' 카테고리의 다른 글

서버에 대한 기초 정리 중..  (0) 2022.11.10