베하~ 안녕하세요 이번주도 돌아온 금쪽상담소의 오은영석사와 금쪽이 입니다.
아쉬웠던 가을이 지나고 어느새 겨울이 성큼 다가온 것을 느낄 수 있는 날이네요.
한주동안 잘 지내셨나요?
점점 추워지는 지금 무엇보다 감기 조심하시길 바랍니다!
오늘의 주제는 무엇일까요~~?ㅎㅎ
오늘의 주제는 서버 구성의 가장 기본 구조인 3-Tier에 대해 알아보겠습니다!! (짝짝짝)
3-Tier란?
3계층으로 나누어 별도의 논리적/물리적인 장치에 구축 및 운영하는 형태입니다.
서버 한대에 한꺼번에 모든 기능들을 구축하는 것이 아니라 데이터를 표현해주는 클라이언트(프레젠테이션) 계층, 데이터를 처리하는 어플리케이션 계층, 그리고 데이터를 저장하고 읽는 데이터 계층 과 같이 3계층으로 나누어 각각의 기능으로 별도의 논리적/물리적인 장치에서 운영하는 방식입니다.
그 밖에도 2계층, 4계층 처럼 다양하게 운영할 수도 있고 이 경우 다층 구조 라고도 (Multi-tier Architecture or n-tier Architecture)표현할 수 있습니다.
3-Tier 구조
- 프레젠테이션 계층 (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 등이 이 계층에 해당됩니다.
또한, 일반 사용자들은 접속을 할 수 없고 약속된 사용자만이 데이터 계층에 접속 가능 합니다.
3-Tier 장점
- 어플리케이션의 다른 영역에 영향을 주지 않고 한 계층의 기술 스택을 업데이트할 수 있습니다.
- 서로 다른 개발 팀이 각자의 전문 분야에 대해 작업할 수 있습니다.
- 어플리케이션을 스케일업 및 스케일아웃 할 수 있습니다.
- 서비스나 서버의 신뢰성과 독립성을 높여줍니다.
- 프레젠테이션 코드와 비즈니스 로직을 별도로 관리하여 비즈니스 로직의 변경 등이 프레젠테이션 계층에 영향을 미치지 않습니다.
- DB 서버에 직접들어가지 않고 어플리케이션 서버에서 데이터들을 보여주기 때문에 보안에 유리합니다.
Tier 종류
계층의 종류는 3-Tier만 존재하는 것은 아닙니다. 또다른 Tier에 대해 알아봅시다.
- 1-Tier
하나의 물리적인 컴퓨터 또는 서버에 3가지의 다른 기능으로 함께 구현한 방식입니다.
따라서 물리적인 장비를 새로운 장비로 변경하고자 하는 경우에는 모든 구성을 함께 변경해야 합니다.
- 2-Tier
클라이언트 계층과 데이터 계층의 물리적인 컴퓨터 또는 서버로 구분하여 클라이언트 계층에서의 변경이나 데이터베이스의 변경 시 서로 영향을 받지 않습니다.
3-Tier와 유사한 구조이지만, 프레젠테이션 계층과 어플리케이션 계층이 하나로 합쳐진 유형입니다.
- N-Tier
분산 아키텍처 또는 다중 계층 아키텍처라고도 하며 3-tier와 유사하지만 비즈니스 로직을 분산하기 위해 어플리케이션 서버의 수가 증가하여 개별 계층으로 표시됩니다.
이렇게 서버 구축의 가장 기초가 되는 3-Tier에 대해 알아보았습니다.
유익한 시간이였나요? 이 기초를 토대로 구축도 해보시길 바랍니다.
그럼 다음시간에 만나요!! 베빠~!
'Network' 카테고리의 다른 글
TCP와 UDP의 차이(1) (1) | 2023.11.03 |
---|---|
TCP 패킷 (0) | 2023.10.27 |
3-way Handshake & 4-way Handshake (1) | 2023.10.19 |
[Network] WireShark로 tcpdump 파일 패킷 분석하기 (1) | 2023.09.18 |
[Network] tcpdump로 네트워크 패킷 파일 생성하기 (0) | 2023.09.08 |
댓글