Three Tier Architecture

송민지·2023년 4월 12일
0

Nest.js의 provider

목록 보기
1/1

3계층 아키텍처(Three Tier Architecture)란?

  • 어플리케이션을 프레젠테이션(사용자 인터페이스), 데이터가 처리되는 어플리케이션 계층, 데이터가 정장 및 관리되는 데이터 계층이라는 3개의 논리적이고 1개의 무리적 컴퓨터 계층으로 구성하는 소프트웨어 어플리케이션 아키텍처

  • Client는 프레젠테이션 tier, Server는 어플리케이션 tier, Database는 Data tier라고도 한다.

장점

  • 각 계층이 자체 인프라를 가지고 실행된다
  • 각 계층의 별도의 개발팀에 의해 동시에 개발이 가능하다
  • 다른 계층에 영향을 미치지 않고 업데이트나 확장이 가능하다
  • 빠른 개발이 가능하다
  • 향상된 확장성, 안정성 및 보안을 제공한다

단점

  • 2계층 클라이언트-서버 컴퓨팅 모델보다 더 복잡하다
  • 별도의 프록시 서버가 필요할 수도 있다
  • 별도의 프록시 서버를 사용하면 네트워크 트래픽이 증가한다

Client(Presentation Tire)

  • 제일 위에 있는 계층
  • 어플리케이션 레벨이자 유저의 인터페이스(외부와의 통신을 담당한다)
  • Desktop Application 또는 GUI가 해당된다
  • 구성요소
    • HTML, CSS, Java Script 등

Application Server(Web Server)

  • Logic이나 미들웨어 레벨 티어
  • 어플리케이션의 중심
  • 정보가 처리되는 부분
  • 비즈니스 로직이나 규칙이라고도 한다
  • Data tier의 저장, 수정, 삭제가 이루어 진다
  • Presentation Tire와 Data Tier 사이를 연결한다
  • 구성요소
    • Python, Java, Peral, PHP, Ruby 등등

Database Server

  • Database tier 또는 backend라고도 한다
  • 데이터가 저장되고 관리된다
  • Presentation Tire와 Data Tier와 통신한다(Client와 바로 소통되지 않는다. Application Server를 통해 통신한다)
  • 구성요소
    • RDBMS : MySQL, MariaDB, Oracle, DB2, Microsoft SQL server, PostgresQL 등등
    • DBMS : Cassandra, CouchDB, MongoDB 등등

DBMS에서 3계층 아키텍처의 장단점
쉽게 풀어쓴 Nest.JS - Provider
3계층 아키텍처란?
Three Tier Architecture

profile
기록하는 일상

0개의 댓글