반응형

IT인프라 이야기 - 3-Tier vs 2-Tier
(쓰리티어와 투티어 이야기)

3-Tier vs 2-Tier
3-Tier와 2-Tier 아키텍처는 IT 시스템에서 애플리케이션을 어떻게 계층화(분리)하여 설계하느냐에 대한 구조적 차이를 말합니다.
주로 웹 서비스, 엔터프라이즈 애플리케이션에서 많이 사용되며,
확장성, 보안, 유지보수성 측면에서 중요한 설계 기준입니다.
✅ 1. 정의 요약
| 항목 | 2-Tier | 3-Tier |
| 계층 수 | 2계층 (클라이언트 - DB) | 3계층 (프레젠테이션 - 비즈니스 로직 - DB) |
| 구성 | Client ↔ DB (또는 Client ↔ App+DB) |
Client ↔ App Server ↔ DB Server |
| 사용 예 | 단일 앱, 내부 시스템, 간단한 GUI | 웹 서비스, 대규모 분산 서비스 |
✅ 2. 각 구조 설명
🔹 2-Tier 아키텍처
[Client]
↕︎
[Database or App+DB Server]
- 클라이언트가 DB에 직접 연결하거나,
- 애플리케이션이 DB 기능까지 함께 처리
- 데이터와 비즈니스 로직이 한 곳에 몰려 있음
장점:
- 구조 단순, 구축 빠름
- 소규모 환경에 적합
단점:
- 보안 취약 (클라이언트에서 DB 직접 접근)
- 유지보수 어려움
- 확장성 제한

🔹 3-Tier 아키텍처
[Client]
↓
[Web/App Server] → [DB Server]
- 계층 분리: 프레젠테이션, 비즈니스 로직, 데이터
- 흔히 말하는 웹 서버 + WAS + DB 구성
장점:
- 확장성 우수 (서버 분산 가능)
- 보안 강화 (DB 접근 제한)
- 유지보수/배포 편리 (로직만 수정 가능)
단점:
- 초기 설계와 설정이 복잡
- 테스트 구성도 더 정교하게 필요
✅ 3. 구성 비교 예시
| 구성 요소 | 2-Tier | 3-Tier |
| 클라이언트 | PC, 웹 앱 | PC, 웹 앱 |
| 중간계층 | 없음 또는 직접 DB 호출 | Web Server, App Server |
| 데이터계층 | DB (직접 접속) | 분리된 DB 서버 |
| 예시 기술 | VB + Oracle / Java Swing + MySQL | React + Spring Boot + PostgreSQL |
✅ 4. 언제 무엇을 선택하나?
| 상황 | 적합성 |
| 소규모 내부 시스템 | 2-Tier |
| 복잡한 로직, 확장 고려 | 3-Tier |
| 다중 사용자 대규모 서비스 | 3-Tier |
| 클라이언트에서 보안 위험이 큰 경우 | 3-Tier (DB 직접 노출 방지) |

✅ 5. 실전 예
- 2-Tier 예:
사내 인사관리 시스템 (GUI → DB 직접 연결) - 3-Tier 예:
쇼핑몰 웹사이트 (웹브라우저 → Node.js 서버 → MySQL DB)
✅ 요약 비교표
| 항목 | 2-Tier | 3-Tier |
| 계층 수 | 2 (Client ↔ DB) | 3 (Client ↔ App ↔ DB) |
| 보안 | 낮음 | 높음 (중간 서버로 DB 은닉) |
| 확장성 | 낮음 | 높음 |
| 유지보수 | 어려움 | 용이 |
| 구조 | 단순 | 복잡 |
| 적합 대상 | 단일 사용자/내부시스템 | 대규모 서비스/웹앱 |

네트워크 기초 OSI 7 Layer에 대해서 궁금하다면 아래 글을 참조해보세요!
https://eundunn.tistory.com/97
[네트워크기초] OSI 7 Layer 계층에 대해서 - 왜 만들어졌나
네트워크를 한 번쯤 공부해 보신 분들이라면 OSI( Open Systems Interconnection ) 7 Layer 란 용어를 들어 봤을 거에요. 네트워크 통신을 OSI 7계층으로 구분 짓고 통신시키게 됩니다. 7개 계층은 아래와 같아
eundunn.tistory.com
오늘도 뚠뚠IT!
반응형
'IT 툴툴' 카테고리의 다른 글
| [네트워크] CSP Connect : Hosted Connection VS Dedicated Connection (4) | 2025.07.12 |
|---|---|
| [네트워크] IT인프라 - 미들웨어란(Middleware) (4) | 2025.07.11 |
| [네트워크] 라우팅 우선 순위 결정 기준 : AD vs Metric(Cost) (2) | 2025.07.06 |
| [네트워크] DNS Forwarding vs DNS Delegation 뭐였더라? (0) | 2025.07.05 |
| [네트워크] AWS에서 ASN 은 잘 쓰는 방법 (3) | 2025.07.04 |