IT 툴툴

[네트워크] IT인프라 이야기 - 3-Tier vs 2-Tier

은듄 2025. 7. 10. 07:50
반응형

 

 


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

 

 

 

 

3-Tier vs 2-Tier

 

 

 

 

3-Tier2-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!

반응형