CS 공부 & 기초 지식

3 Layer Architecture

Coding-Su 2024. 8. 14. 08:47
728x90

3 Layer Architecture란?

3 Layer Architecture(3계층 아키텍처)는 애플리케이션을 프레젝테이션 계층, 애플리케이션 계층, 테이터 계층이라는 3개의 논리적이고 물리적인 컴퓨팅 케층으로 구성하는 확립된 소프트웨어 애플리케이션 아키텍처입니다.

 

 

첫 번째 계층

Presentation Tier(Client)

일반 사용자가 애플리케이션과 상호작용하는 애플리케이션의 사용자 인터페이스 및 커뮤니케이션 계층으로 일반 사용자가 직접 액세스 할 수 있는 계층입니다.

 

애플리케이션 계층

Logic Tier(Application)

논리 계층, 중간 계층이라고도 하는 애플리케이션 계층은 특정 비즈니스 규칙 세트인 비즈니스 논리를 사용하여 프레젠테이션 계층에서 수집된 정보가 처리됩니다. 애플리케이션 계층에서 API를 호출하여 사용하며 데이터 계층과 통신합니다.

 

데이터 계층

애플리케이션이 처리하는 정보가 저장 및 관리되는 계층입니다. 즉, 응용 프로그램 데이터에 대한 액세스를 제공하는 데이터베이스 관리 시스템입니다.

(예:  PostgreSQL, MySQL, MariaDB, Oracle, DB2, Informix 또는 Microsoft SQL Server) 또는  NoSQL 데이터베이스 서버(예: Cassandra,  CouchDB 또는  MongoDB)일 수 있습니다. 

 

 

 

3 Layer Architecture와 MVC의 관계

 

 

3 Layer Architecture의 장점

  1. 각 계층에서 서로 다른 팀에서 동시게 개발될 수 있음으로, 빠르게 개발할 수 있습니다.
  2. 애플리케이션의 다른 영역에 영향을 주지 않고 한 계층의 기술 스택을 업데이트 할 수 있습니다.(각 계층에 최신 및 최상의 언어와 툴을 사용하여 개발할 수 있습니다.)
  3. 필요에 따라 어느 계층이든 다른 계층과 독립적으로 확장할 수 있습니다.(스케일업 및 스케일아웃)
  4. 한 계층의 가동 중단은 다른 계층의 가용성 또는 성능에 별로 영항을 미치지 않습니다.(서비스나 서버의 신뢰성과 동립성을 높여줍니다.
  5. 프레젠테이션 계층과 데이터 계층이 직접 통신할 수 없으므로, 잘 설계된 애플리케이션 계층은 내부 방화벽의 일종으로 작동하여 SQL 인젝션 및 기타 악의적 공격을 방지할 수 있습니다.
728x90