Tag Archives: application layer

[Concept | Architecture] 3Tier

시스템 설계시 프로젝트의 목적에 따라 물리적인 계층(Tier)을 나누고 서비스를 논리적(Layer)으로 분리하게 된다. 효과적인 분업을 위해 반드시 이해가 필요한 부분이다. 1티어 / 2티어 / 3티어의 개념과 장단점을 설명한다.


Tier (계층) : 물리적인 분리단위 (서버 분리)
Layer (층) : 논리적인 분리단위 (기능 분리)

1> 1Tier

장점 : 구현이 간편함, 비용이 적게듬
단점 : 확장이 힘듬, 이관시 재구성이 필요함, 분업이 어려움


2> 2Tier

장점 : 데이터관련 변경이 용이함
단점 : 3Tier에 비해 유연성이 떨어짐


3> 3Tier

장점 : 다른계층에 의존하지 않으므로 분업시 효율적임
단점 : 구현시 고려사항이 많아 비용이 증가함

1) Client(Presentation) Tier : HTML, Javascript, CSS, Image
  - 사용자 인터페이스를 지원함
  - Frontend or GUI 라고도 불림
  - 보안상의 이점을 위해 Frontend서버를 두기도함
    (이때 Frontend서버는 단순한 것이므로 구현이 쉽고 가벼운 것을 이용)
2) Application Tier : Java, NodeJS, Python, PHP
  - 정보를 처리하는 로직이 포함되어 있음
  - Backend 라고도 불림
3) Data Tier : Oracle DB, Maria DB, Postgresql
  - 데이터베이스 서버 자체를 말함