Dazzling 개발 노트

Software Engineering - 소프트웨어 공학(3) - 3 tier 아키텍처 본문

Server/Software Engineering

Software Engineering - 소프트웨어 공학(3) - 3 tier 아키텍처

dj._.dazzling 2023. 11. 26. 13:24

[Tier Architecture]

 

1-Tier Architecture

  • 클라이언트, 서버, 데이터베이스가 모두 동일한 장치에 존재하는 구조.
  • 사용자가 DBMS를 직접적으로 사용

 

2-Tier Architecture

  • 클라이언트가 데이터베이스 서버와 직접적으로 통신하는 구조
  • 사용자가 클라이언트를 통해 서버에 서비스를 요청하면 서버가 클라이언트에게 서비스 제공, 서버는 요청 대기
  • DBMS(데이터) 보안 강화 가능
  • 사용자가 많으면 성능이 떨어짐

 

3-Tier Architecture

  • Presentation(Client) - Application(Server) - Database(Server)
  • WS(WebServer) - WAS(WebApplicationServer) - DB(DatabaseServer)
  • 클라이언트가 데이터베이스와 직접 통신하지 않는 구조.
  • Application Server가 클라이언트와 데이터베이스 사이에서 데이터를 교환하는 매개체 역할 수행
  • DBMS(데이터) 보안 강화 가능, 데이터 무결성 유지
  • 확장성의 향상

 

WS와 WAS를 분리하는 이유

  • WS로 정적인 데이터를 제공하고, 동적인 데이터는 필요 시 WAS로 제공하도록 함 → 빠른 처리 가능
  • 각 기능을 분리해 서버의 부하방지