⚙️네트워크 아키텍처 (Network Architecture)
데이터가 어떤 방식으로 전송되고 처리되는지를 정의하는 구조
클라이언트(Client)와 서버(Server)가 직접 통신하는 단순한 형태부터, 여러 개의 계층(Layer)을 두어 역할을 분리하는 복잡한 형태까지 다양한 방식이 존재한다.
오늘은 그 중에서 2-Tier, 3-Tier 구조에 대해 비교분석을 진행해 볼 것이다.
🖥️ 2티어 아키텍쳐 (2-Tier Architecture)

✔️ 개념
- 클라이언트(Client)와 데이터베이스(DB) 서버(Server)로 구성된 단순한 구조
- 클라이언트가 직접 데이터베이스와 연결하여 데이터를 요청하고 처리
✔️ 특징
- 비교적 구현이 쉽고 빠르다.
- 데이터베이스 부하가 증가하면 성능 저하 가능성이 있다.
- 클라이언트가 데이터 처리도 담당하여 보안 취약점 증가한다.
✔️ 예시
- 단순한 데스크톱 애플리케이션
- 내부 네트워크에서 사용하는 소규모 사내 ERP 시스템
🖥️ 3티어 아키텍쳐 (3-Tier Architecture)

✔️ 개념
- 클라이언트(Client), 애플리케이션 서버(Application Server), 데이터베이스(DB) 서버(Server)로 나뉜 구조
- 애플리케이션 서버가 중간에서 요청을 받아 데이터베이스와 통신
✔️ 특징
- 보안 강화 : 클라이언트가 직접 DB에 접근하지 않는다.
- 확장성 우수 : 애플리케이션 서버를 여러 대 추가하여 확장 가능하다.
- 부하 분산 가능 : 서버 역할을 분리하여 성능을 최적화한다.
✔️ 예시
- 웹 애플리케이션 (React -> Node.js -> MySQL)
- 대형 쇼핑몰, 은행 시스템 등 높은 트래픽을 처리하는 서비스
📝 2-Tier 와 3-Tier 비교 테이블
| 비교 항목 | 2티어 | 3티어 |
|---|
| 구성 요소 | 클라이언트 + DB | 클라이언트 + 애플리케이션 서버 + DB |
| 보안 | 보안 취약 (클라이언트가 DB 직접 접근) | 보안 강화 (중간 서버가 역할 수행) |
| 확장성 | 낮음 (클라이언트가 많아지면 부하 증가) | 높음 (서버 확장 가능) |
| 성능 최적화 | 어렵다 | 가능 (로드 밸런싱 활용) |
| 사용 예시 | 내부 시스템, 소규모 애플리케이션 | 대형 웹 서비스, 금융 시스템 |
📌 결론
- 2-Tier 는 간단하고 빠르게 구축 가능하지만 확장성과 보안에 한계가 있다.
- 3-Tier 는 중간 서버를 활용해 보안과 확장성을 확보할 수 있다.
- 대규모 서비스(쇼핑몰, 금융, 기업 시스템)는 3-Tier 를 선호하고, 간단한 내부 시스템(소규모 ERP 등)은 2-Tier 로도 충분할 수 있다.