반응형
Notice
Recent Posts
Recent Comments
관리 메뉴

간단한 개발관련 내용

계층(Layer)과 티어(Tier)의 차이점 본문

Computer Science/Architechture & Design Patterns

계층(Layer)과 티어(Tier)의 차이점

vincenzo.dev.82 2024. 12. 17. 23:57
반응형

계층(Layer)과 티어(Tier)의 차이점

이 문서는 계층형 아키텍처N-티어 아키텍처를 구분하고 있습니다.


1. 계층 (Layered Architecture)

  • 개념적 경계를 나타냅니다.
  • 계층은 논리적으로 구분되며 동일한 단위에서 구현되고 배포됩니다.
  • 예: Presentation Layer, Application Layer, Domain Layer, Infrastructure Layer
  • 논리적 구조: 각 계층이 기술적/기능적 역할을 담당하지만, 같은 서버나 시스템에 배포될 수 있습니다.

2. 티어 (N-Tier Architecture)

  • 물리적 경계를 나타냅니다.
  • 각 티어는 서로 독립적으로 배포될 수 있습니다.
  • 예:
    1. 브라우저 (클라이언트)
    2. 리버스 프록시 서버
    3. 애플리케이션 서버
    4. 데이터베이스 서버
  • 각 티어는 물리적으로 분리된 서버, 시스템, 또는 컨테이너에 배포될 수 있습니다.

핵심 차이점

구분 계층 (Layer) 티어 (Tier)
구분 기준 논리적 경계 (책임 분리) 물리적 경계 (배포 및 시스템 분리)
실행 환경 동일한 시스템/서버에서 동작 가능 서로 다른 서버/환경에 분리되어 배포됨
목적 코드 분리 및 책임 명확화 시스템 분산 및 확장성 확보
예시 Presentation Layer, Domain Layer 프론트엔드 서버, 백엔드 서버, DB 서버

문서 내용 요약

  • 계층: 논리적으로 나눈 소프트웨어의 구조. 같은 시스템에서 실행될 수 있음.
  • 티어: 물리적으로 나누어진 시스템이나 서버의 경계. 독립적으로 배포될 수 있음.

예시 (그림 8-7):

  • 브라우저리버스 프록시애플리케이션 서버데이터베이스 서버
  • 각각의 티어는 독립적으로 배포되며 분산된 시스템으로 운영될 수 있습니다.

결론:

  • 계층은 소프트웨어 내부의 논리적 구분이고, 티어는 물리적 분리입니다.
  • 계층 구조가 N-Tier 구조로 배포되면 시스템의 확장성과 분산 운영이 가능해집니다.
반응형