일 | 월 | 화 | 수 | 목 | 금 | 토 |
---|---|---|---|---|---|---|
1 | 2 | 3 | 4 | 5 | 6 | 7 |
8 | 9 | 10 | 11 | 12 | 13 | 14 |
15 | 16 | 17 | 18 | 19 | 20 | 21 |
22 | 23 | 24 | 25 | 26 | 27 | 28 |
29 | 30 | 31 |
Tags
- Java
- 카프카 트랜잭션
- gcm 푸시 번역
- 페이스북 번역
- 웹사이트최적화기법
- Design Pattern
- 푸시
- APNS
- Push
- 카프카
- kafka
- 웹사이트성능
- git
- notification
- php
- 성능
- JPA
- redis
- 디자인패턴
- 레디스
- 푸시 번역
- nginx설치
- 자바스크립트
- nginx설정
- GCM
- NoSQL
- 웹사이트 성능
- GCM 번역
- nginx
Archives
- Today
- Total
간단한 개발관련 내용
계층(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)
- 물리적 경계를 나타냅니다.
- 각 티어는 서로 독립적으로 배포될 수 있습니다.
- 예:
- 브라우저 (클라이언트)
- 리버스 프록시 서버
- 애플리케이션 서버
- 데이터베이스 서버
- 각 티어는 물리적으로 분리된 서버, 시스템, 또는 컨테이너에 배포될 수 있습니다.
핵심 차이점
구분 | 계층 (Layer) | 티어 (Tier) |
---|---|---|
구분 기준 | 논리적 경계 (책임 분리) | 물리적 경계 (배포 및 시스템 분리) |
실행 환경 | 동일한 시스템/서버에서 동작 가능 | 서로 다른 서버/환경에 분리되어 배포됨 |
목적 | 코드 분리 및 책임 명확화 | 시스템 분산 및 확장성 확보 |
예시 | Presentation Layer, Domain Layer | 프론트엔드 서버, 백엔드 서버, DB 서버 |
문서 내용 요약
- 계층: 논리적으로 나눈 소프트웨어의 구조. 같은 시스템에서 실행될 수 있음.
- 티어: 물리적으로 나누어진 시스템이나 서버의 경계. 독립적으로 배포될 수 있음.
예시 (그림 8-7):
- 브라우저 → 리버스 프록시 → 애플리케이션 서버 → 데이터베이스 서버
- 각각의 티어는 독립적으로 배포되며 분산된 시스템으로 운영될 수 있습니다.
결론:
- 계층은 소프트웨어 내부의 논리적 구분이고, 티어는 물리적 분리입니다.
- 계층 구조가 N-Tier 구조로 배포되면 시스템의 확장성과 분산 운영이 가능해집니다.
반응형