Spring/이론

3계층 구조(3 Tier- Architecture) 이해하기 [스마트인재개발원]

harotea 2021. 6. 20. 22:02
3계층 구조(3 Tier- Architecture) 란?
어떠한 플랫폼을 3계층으로 나누어 별도의 논리적/물리적인 장치에 구축 및 운영하는 형태

3계층 구조!!!

 

 

웹 서버 운영을 예로 들면 서버 한대에 한꺼번에 모든 기능들을 구축하는 것이 아니라 데이터를 저장하고 읽는 데이터 계층, 데이터를 처리하는 어플리케이션 계층, 그리고 데이터를 표현해주는 클라이언트(프레젠테이션) 계층과 같이 각각 3계층으로 나누어 각각의 기능으로 별도의 논리적/물리적인 장치에서 운영하는 방식이다.

그 밖에도 2계층, 4계층 처럼 다양하게 운영할 수도 있고 이 경우 다층 구조 라고도 (Multi-tier Architecture or n-tier Architecture)표현할 수 있다.


 

프레젠테이션 계층 (Presentation Tier)

사용자가 직접 마주하게 되는 계층이다. 따라서 주로 사용자 인터페이스(인터넷 브라우저 등)를 지원하며 이 계층은 GUI 또는 프론트엔드(front-end) 라고도 부른다. 그러므로 이 계층에서는 사용자 인터페이스와 관계없는 데이터를 처리하는 로직은 포함하지 않는다. 주로 웹 서버를 예시로 들 수 있고, HTML, Javascript, CSS 등이 이 계층에 해당 된다.

 

어플리케이션 계층 (Application Tier)

이 계층에서는 (프레젠테이션 계층) 요청되는 정보를 어떠한 규칙을 바탕으로 처리하고 가공하는 것들을 담당한다. (동적인 데이터 제공!) 비즈니스 로직 계층 또는 트랜잭션 계층 이라고도 한다. 첫 번째 계층에서 이 계층을 바라볼 때에는 서버처럼 동작하고(응답), 세 번째 계층의 프로그램에 대해서는 마치 클라이언트처럼 행동한다.(요청)

따라서 이 계층은 미들웨어(Middleware) 또는 백엔드(back-end)라고도 불린다. 이 계층에서는 프레젠테이션코드 (예를 들면 HTML, CSS)나 데이터 관리를 위한 코드는 포함하지 않는다. 주로 PHP, Java 등이 이 계층에 해당한다.

 

데이터 계층 (Data Tier)

데이터 계층은 데이터베이스와 데이터베이스에 접근하여 데이터를 읽거나 쓰는 것을 관리하는 것을 포함한다.

주로 DBMS (Database Management System)이 이 계층에 해당된다. 데이터 계층 또한 백엔드(back-end)라고도 부른다. 주로 MySQL, MongoDB 등이 이 계층에 해당된다.


1계층 구조 (1 Tier Architecture)

1. 1계층 구조

하나의 물리적인 컴퓨터 또는 서버에 3가지의 다른 기능으로 함께 구현한 방식이다.

따라서 물리적인 장비를 새로운 장비로 변경하고자 하는 경우에는 모든 구성을 함께 변경해야 한다.

2계층 구조 (2 Tier Architecture)

 

2. 2계층 구조

클라이언트 계층과 데이터 계층의 물리적인 컴퓨터 또는 서버로 구분하여 클라이언트 계층에서의 변경이나 데이터베이스의 변경 시 서로 영향을 받지 않는다.

 

3계층 구조 (3 Tier Architecture) 

3. 3계층 구조

클라이언트 계층, 어플리케이션 계층, 데이터 계층으로 서버를 모두 물리적으로 나누어 구성하는 방식이다.

이에 각각의 계층에서 변화가 일어나더라도 서로 영향을 받지 않고 독립적으로 운영된다.

 


 

3계층 구조의 장점 /  단점

 

장점

각 계층이 분리되어 있어 업무 분담이 가능해지므로 업무 효율성이 증가할 수 있다. 또한 여러 대의 서버로 나누어 각 계층이 동작하므로 서버의 부하를 줄여줄 수도 있으며, 경우에 따라 합리적인 스케일업(서버의 성능 업그레이드)이 가능하다.

 

단점

1계층으로만 사용하는 것 대비 관리가 더 필요하고, 장애가 발생하는 포인트가 더 늘어날 수 있다는 점을 생각해두어야 한다.

따라서 비용이 그만큼 많이 발생하게 되므로 서비스 규모 및 사용자 증가에 따라 계층 구조를 설계 및 고려해야 한다. 

 

 

 

 

 

 

 

해당 수업은 '스마트인재개발원'에서 '지능형IoT 융합SW 전문가과정(NCS)과정'에서 진행한 교육내용입니다.

 

 

스마트인재개발원

4차산업혁명시대를 선도하는 빅데이터, 인공지능, 사물인터넷 전문 '0원' 취업연계교육기관

www.smhrd.or.kr