반응형
3-Tier
3-Tier 아키텍처는 애플리케이션을 세 가지 계층으로 나누어 구성하는 구조를 말함
- 프리젠테이션 계층(Presentation Layer): 사용자 인터페이스(UI) 및 사용자와의 상호작용을 처리
- 비지니스 로직 계층(Business Logic Layer): 애플리케이션의 핵심 로직과 데이터 처리 규칙을 철
- 데이터 계층(Data Layer): 데이터 베이스의 상호작용 및 데이터 관리를 처리
1-Tier 아키텍처
구조
- 애플리케이션과 데이터가 모두 한 시스템에서 실행됨
- 데이터베이스, 애플리케이션 로직, UI가 모두 같은 환경에서 운영
장점
- 설치와 배포가 간단: 모든 기능이 하나의 시스템에서 실행되므로 설정이 간단
- 낮은 비용: 추가적인 네트워크 인프라나 서버가 필요하지 않음
- 속도 우수: 네트워크 통신이 필요 없기 때문에 빠른 응답
단점
- 확장성 부족: 여러 사용자가 동시에 접속하면 성능 저하
- 유지보수 어려움: 모든 구성 요소가 하나의 시스템에 포함되어 있어 관리 복잡
- 보안 문제: 데이터와 애플리케이션이 같은 시스템에 있으므로 보안에 취약
2-Tier 아키텍처
구조
- 두 계층으로 나뉘며, 클라이언트(프리젠테이션 및 일부 로직)와 서버로 구성
- 클라이언트는 애플리케이션의 사용자 인터페이스를 처리하고, 서버는 데이터를 저장하고 관리
장점
- 분리된 데이터 관리: 데이터베이스가 별도의 서버에서 관리되므로 보안 및 관리 용이
- 기본적인 확장성: 여러 클라이언트가 데이터베이스 서버에 접근 가능
- 네트워크 통합: LAN 환경에서 효율적으로 동작
단점
- 로직 분리가 불완전: 일부 로직이 클라이언트와 서버에 나뉘어 있어 유지보수가 어려울 수 있음
- 성능 병목 현상: 클라이언트가 늘어나면 데이터베이스 서버의 부하 증가
- 네트워크 의존성: 네트워크 연결이 끊기면 클라이언트-서버 간 작업 불가
3-Tier 아키텍처
구조
- 프레젠테이션 계층: 사용자와 상호작용(UI)
- 비지니스 로직 계층: 서버에서 애플리케이션의 핵심 로직 처리
- 데이터 계층: 데이터베이스에서 데이터 저장 및 관리
장점
- 유지보수 용이: 각 계층이 독립적이므로 특정 계층만 수정 가능
- 확장성 우수: 계층별로 확장 가능(예: 로드 밸런싱, 데이터베이스 분산)
- 보안 강화: 비지니스 로직과 데이터 계층이 분리되어 외부 공격으로부터 보호
- 재사용성: 비지니스 로직 계층을 다양한 클라이언트(UI)에 재사용 가능
단점
- 구현 복잡성: 각 계층을 분리하여 설계하고 관리해야 하므로 초기 작업이 복잡
- 네트워크 의존성: 모든 계층이 네트워크를 통해 통신하므로 네트워크 문제가 성능에 영향을 미침
- 비용 증가: 계층별로 서버 및 인프라 요구 사항이 늘어남
비교
아키텍처 | 구성 요소 | 장점 | 단점 |
1-Tier | 단일 시스템 | 설정 간단, 비용 적음, 빠름 | 확장성 부족, 보안 취약 |
2-Tier | 클라이언트-서버 | 분리된 데이터 관리, 보안 개선 | 병목 현상, 로직 분리 불완전 |
3-Tier | 프레젠테이션-로직-데이터 | 유지보수 용이, 확장성 우수, 보안 | 복잡성 증가, 비용 높음 |
결론
- 1-Tier: 소규모 프로젝트나 개인용 애플리케이션에 적합
- 2-Tier: 중소규모 애플리케이션에 적합
- 3-Tier: 대규모, 분산형 애플리케이션에 적합하며 현대적인 웹 애플리케이션에 널리 사용
반응형
'BE > DataBase' 카테고리의 다른 글
DB | ORM과 Prisma (0) | 2024.11.22 |
---|