2-Tier 아키텍처란?

2-Tier 아키텍처는 클라이언트-서버 모델로서, 두 계층으로 구성된 시스템 구조를 의미합니다. 이 구조는 주로 다음과 같이 나뉩니다:

  1. 프레젠테이션 계층 (클라이언트): 사용자 인터페이스가 있는 부분으로, 사용자가 데이터를 입력하거나 결과를 확인하는 역할을 합니다.
  2. 데이터 계층 (서버): 데이터베이스 서버가 위치한 부분으로, 데이터를 저장하고 관리하는 역할을 담당합니다.

이 아키텍처는 클라이언트와 데이터베이스 서버 간의 직접 통신이 이루어지는 구조로 되어 있어, 클라이언트 애플리케이션이 데이터베이스와 직접 상호작용할 수 있습니다.

2-Tier 아키텍처의 장단점

  • 장점:
    • 단순성: 구조가 간단하고 구현이 쉬워, 빠른 개발이 가능합니다.
    • 저비용: 일반적으로 소규모 애플리케이션에서 사용되며, 유지 비용이 저렴합니다.
  • 단점:
    • 확장성 부족: 클라이언트와 데이터베이스 간의 직접 연결은 많은 클라이언트가 동시에 접속할 때 병목 현상을 초래할 수 있습니다.
    • 보안 문제: 클라이언트가 데이터베이스에 직접 접근하기 때문에 보안이 취약해질 수 있습니다.

2-Tier 사용 사례

2-Tier 아키텍처는 주로 소규모 시스템, 소규모 기업의 내부 애플리케이션, 단일 네트워크 환경에서 사용됩니다. 예를 들어, 소규모 회사의 사내 ERP 시스템 등이 이에 해당될 수 있습니다.


3-Tier 아키텍처란?

3-Tier 아키텍처는 클라이언트와 데이터 계층 사이에 비즈니스 로직 계층을 추가로 둔 아키텍처입니다. 이 구조는 다음과 같이 세 개의 계층으로 나누어집니다:

  1. 프레젠테이션 계층 (클라이언트): 사용자가 데이터를 입력하거나 조회할 수 있는 인터페이스를 제공합니다.
  2. 비즈니스 로직 계층 (애플리케이션 서버): 데이터 처리를 위한 비즈니스 로직을 수행합니다. 클라이언트의 요청을 처리하고, 데이터베이스와 상호작용하여 필요한 결과를 계산하거나 변환합니다.
  3. 데이터 계층 (데이터베이스 서버): 데이터를 저장하고 관리하는 역할을 담당합니다.

비즈니스 로직 계층이 추가됨으로써 클라이언트와 데이터베이스 간의 직접 통신을 막고, 모든 요청이 비즈니스 로직 계층을 통해 이루어지게 됩니다.

3-Tier 아키텍처의 장단점

  • 장점:
    • 확장성: 비즈니스 로직이 독립적인 계층으로 분리되어 있어, 더 많은 사용자를 수용할 수 있도록 쉽게 확장할 수 있습니다.
    • 보안 강화: 클라이언트는 직접 데이터베이스에 접근하지 않으며, 비즈니스 로직 계층을 통해 접근하기 때문에 보안이 강화됩니다.
    • 유지보수 용이: 비즈니스 로직, 데이터, 그리고 사용자 인터페이스가 각각 분리되어 있어 각 계층의 변경이 다른 계층에 영향을 미치지 않습니다.
  • 단점:
    • 복잡성: 계층이 늘어나기 때문에 시스템 구조가 복잡해지고, 개발 시간과 비용이 늘어날 수 있습니다.
    • 비용: 추가적인 계층을 지원하는 인프라 비용이 증가합니다.

3-Tier 사용 사례

3-Tier 아키텍처는 대규모 웹 애플리케이션, 온라인 쇼핑몰, 금융 서비스와 같이 다수의 사용자와 복잡한 비즈니스 로직을 처리해야 하는 시스템에서 널리 사용됩니다. 이 구조는 확장성과 보안성이 필요할 때 특히 적합합니다.

+ Recent posts

Top으로 가기