컨트롤러에서 요청과 응답을 관리하도록 구현하다 보니 계층 구조에 대해 궁금해졌다.
그 중 3-Tier를 알게 되었는데, 중요한 내용을 많이 담고 있어 정리하고자 한다.
3-Tier Architecture
어떠한 플랫폼을 클라이언트 계층, 애플리케이션 계층, 데이터 계층으로 나누어 별도의 장치에 구축 및 운영하는 형태
3-Tier 구성 서버
1. Presentation Tier
- 사용자가 직접 마주하게 되는 계층이다.
- 사용자 인터페이스를 지원하며 프론트엔드라고도 부른다.
- 웹 서버가 대표적인 예시이다.
2. Application Tier
- 들어오는 요청을 어떠한 규칙을 기준으로 처리하고 가공하는 계층이다.
- 데이터 계층에 업무를 넘기거나 참조하는 기능도 병행한다.
- 서버처럼 동작(응답)하고, 클라이언트처럼 행동(요청)한다.
3. Data Tier
- 데이터베이스에 접근하여 데이터를 읽거나 쓰는 것을 관리하는 계층이다.
- DBMS가 이 계층에 해당된다.
3-Tier 장단점
장점
- 각 계층이 분리되어 있어 업무 분담이 가능해져 업무 효율이 증가한다.
- 각 계층이 여러 대의 서버로 나누어져 동작하므로 서버 부하를 줄여준다.
단점
- 1, 2계층 구조 대비 비용이 많이 들고, 장애 포인트가 늘어나게 된다.
- 서비스 규모 및 사용자 증가에 따라 계층 구조 설계를 고려해야 한다.
참고
https://jaws-coding.tistory.com/m/9
https://dbknowledge.tistory.com/78
'IT' 카테고리의 다른 글
[우아한테크세미나] 우아한객체지향 By 우아한형제들 개발실장 조영호님 (0) | 2024.03.02 |
---|---|
클래스 다이어그램으로 분석 단계 UML 작성해보기 (0) | 2023.08.21 |
책임과 협력 (0) | 2023.08.17 |