본문 바로가기
TIL

[TIL] 3-Layered Architecture

by 쾌횽 2024. 2. 21.
반응형

🧐 3계층 아키텍처 (3-Layered Architecture )

어플리케이션을 3개의 논리적 및 물리적 컴퓨팅 계층으로 분리하는 3계층 아키텍처는 기존의 클라이언트 서버 애플리케이션을 위한 주요 소프트웨어 아키텍처이다.

 

3계층의 아키텍처의 주요 장점은 각 계층이 자체 인프라에서 실행되기 때문에 각 게층이 별도의 개발팀에 의해 동시에 개발될 수 있으며 다른 계층에 영행을 주지 않고 필요에 따라 업데이트되거나 확장 될 수 있다.

  • 빠른 개발: 각 계층이 서로 다른 팀에서 동시에 개발할 수 있으므로 빠르게 개발할 수 있다.
  • 개선된 확장성: 필요에 따라 어느 게층이든 다른 계층과 독립적으로 확장할 수 있다. 
  • 개선된 신뢰성: 한 계층의 가동 중단은 다른 계층의 가용성 또는 성능에 별로 영향을 미치지 않는다.
  • 개선된 보안: 프레젠테이션 계층과 데이터 계층이 직접 통신할 수 없으므로, 잘 설계된 애플리케이션 계층은 내부 방화벽의 일종으로 작동하여 SQL인젝션 및 기타 악의적 공격을 방지할 수 있다.

🧐 계층 구조

  • 프레젠테이션 계층(Controller)
    어플리케이션의 가장 바깥 부분, 요청/응답을 처리
    클라이언트의 요청(Reqest)을 수신한 후 서버에서 처리된 결과를 반환해주는 역할을 담당한다.
  • 애플리케이션 계층(Service)
    어플리케이션의 중간 부분, API의 핵심적인 동작이 많이 일어나는 부분
    아키텍처의 가장 핵심적인 비즈니스 로직이 수행되는 부분이다.
  • 데이터 계층(Repository)
    어플리케이션의 가장 안쪽 부분, 데이터베이스와 맞닿아 있다.
    실제 데이터베이스와 통신하는 계층이다.
반응형

댓글