내 잡다한 노트

3-Tier Architecture of Web Application 본문

엔지니어링(TA,AA,SA)/아키텍쳐

3-Tier Architecture of Web Application

peanutwalnut 2023. 11. 9. 22:51

3-Tier architecture는 모든 계층이 3개의 논리 계층으로 분할되는 아키텍처 패턴이다.

애플리케이션을 3개의 계층으로 나눈다. 

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

 

 

1. Presentation 계층

사용자가 사용할 수 있는 프레젠테이션 계층. UI와 직접적인 관련이 있다. 

웹 애플리케이션의 경우, html, css, javascript가 포함된다.

 

2. Logic 계층

비즈니스 로직이 수행되는 곳이다. 사용자의 입력을 처리하고, 데이터를 조작하며, 그 결과를 

프레젠테이션 계층으로 전달하거나 데이터 계층으로부터 데이터를 가져온다.

 

3. Data 계층

데이터베이스가 있는 계층으로 데이터와 직접적으로 상호작용한다.

 

 

이런 아키텍쳐를 따름으로써 오는 이점

주된 장점은 계층의 분리이다.

1. 서로 다른 개발 팀이 각자의 전문 분야에 대해 작업할 수 있다. 계층이 분리됐기 때문에 가능하다.

2. 스케일링이 용이하고 유지보수가 용이해진다. 이것도 계층이 분리됐기 때문에 웹서버만 늘릴 수 있고, 다양한 데이터베이스를 추가할 수도 있다.

 

 

1-tier, 2-tier, n-tier 아키텍처가 존재한다.

그 중 2-tier 아키텍처는 우리가 흔히 아는 클라이언트-서버 아키텍쳐이다.

서버에 logic계층과 data계층이 같이 있는것이고, 그걸 분리한것이 3-tier 아키텍처이다.