3 Tier Architecture

hsmiK·2024년 3월 12일

공부기록

목록 보기
1/8
post-thumbnail

🌟 3 Tier-Architecture

3 계층 구조 (3 Tier-Architecture)는 어떠한 플랫폼을 논리적/물리적인 3 단계의 구조로 나누어 구축하고 운영하는 소프트웨어 개발 방법이다.

Presentation Tier Application Tier Data Tier

출처 : https://docs.aws.amazon.com/whitepapers/latest/serverless-multi-tier-architectures-api-gateway-lambda/three-tier-architecture-overview.html


각 Tier의 특징에 대해 살펴보자

✅ Presentation Tier

프리젠테이션 계층은 애플리케이션을 이용하는 일반 사용자와 직접적으로 소통하는 공간이다

최상위 계층으로 웹 브라우저, 응용 프로그램 등과 같이 우리가 평소 흔하게 사용하는 UI/GUI 환경에서 실행이 가능하다. 우리는 이를 FrontEnd 라 부른다

사용자로부터 입력 값을 받고 사용자가 요청하는 데이터를 표기하는 역할을 한다

주로 HTML CSS JavaScript 를 활용하여 구현한다

✅ Application Tier (Logic Tier)

애플리케이션 계층은 애플리케이션의 핵심 계층으로 프리젠테이션 계층에서 수집된 정보를 처리하는 역할을 하는 공간이다

논리 계층 혹은 중간 계층이라 불리며, 이 계층에서는 사전에 어떻게 정보가 처리될지 알고리즘이 구현되어 있고 정해진 알고리즘에 따라 입력된 정보를 처리한다

사용자에 대한 정보는 프리젠테이션 계층에서 수행하므로 정적인 페이지 처리는 담당하지 않는다

첫 번째 계층에 대해서는 요청에 응답하고 다음 계층인 데이터 계층에게는 직접 요청을 하는 중간 역할을 한다고 하여 미들웨어 또는 BackEnd라 부른다

주로 Java Python 등의 언어를 활용하여 구현한다

✅ Data Tier

데이터 계층은 애플리케이션이 처리하는 정보를 저장하고 관리하는 역할을 하는 계층이다

데이터베이스와 데이터베이스에 접근하여 데이터를 읽고 쓰는 것을 관리하기도 한다

DBMS가 이 계층에 해당하고 데이터 계층 또한 뒷단에 위치하여 BackEnd라 부른다

주로 MySQL Oracle DB 등을 활용하여 구현한다

🌟 3 계층 구조 장점/단점

3 계층 구조는 핵심 기능이 논리적,물리적으로 구분되어 있다는 것이 가장 큰 장점이다

각 계층은 기능적 요구 사항에 대해 서버 플랫폼인
Web Server Web Application Server DB 에서 적절하게 활용이 가능하다

또한 각 계층이 적절히 구분되어 있기 때문에 업무 분담에 유리하고, 서버 부하를 줄일 수 있으며 필요에 따라 독립적으로 다른 계층과 확장을 진행할 수 있다는 장점이 있다

그러나 Tier가 3 단계기 때문에 관리할 포인트가 많고 그 만큼 오류도 많이 생성될 수 있으니 주의할 필요가 있다

🌟 웹 개발에서 3-tier 아키텍처

웹 개발에서 계층은 서로 다른 이름을 갖지만 구조적으로 유사한 기능을 수행한다

Web Server Web Application Server DB

💻 Web Server

프리젠테이션 계층이며 사용자 인터페이스를 제공한다
주로 HTML CSS JS 로 구현된다
일반 사용자와 직접 상호작용하고 콘텐츠는 정적,동적일 수 있다

💻 Web Application Server

사용자의 입력을 정해지 규칙에 따라 처리하는 중간 계층에 해당한다
요청한 정보에 대해 응답하고 DB에 관련 데이터를 요청하는 역할을 한다
주로 Node.js Django 등을 활용하여 구현한다

💻 DB

WAS가 요청한 데이터를 저장하고 관리하는 역할을 한다
주로 MySQL Oracle DB 를 활용하여 데이터를 처리하고 관리한다

profile
반갑습니다

0개의 댓글