logo

분산 시스템의 3계층 클라이언트 서버 아키텍처

이 기사에서는 3계층 클라이언트-서버 아키텍처에 대해 자세히 설명합니다. 가장 일반적인 유형의 다중 계층 아키텍처 분산 시스템 3계층 클라이언트-서버 아키텍처입니다. 이 아키텍처에서 전체 애플리케이션은 세 가지 컴퓨팅 계층으로 구성됩니다.

  • 프레젠테이션 계층
  • 애플리케이션 계층
  • 데이터 계층

클라이언트-서버 아키텍처에서 세 계층의 주요 이점은 이러한 계층이 독립적으로 개발 및 유지 관리되며 수정 시 다른 계층에 영향을 미치지 않는다는 것입니다. 수요가 증가함에 따라 더 많은 서버를 추가할 수 있으므로 성능이 향상되고 아키텍처 확장성이 더욱 향상될 수 있습니다.



3계층 아키텍처란 무엇입니까?

3계층 아키텍처는 다음과 같이 세 가지 논리적 및 물리적 컴퓨팅 계층으로 애플리케이션을 구성하는 잘 확립된 소프트웨어 애플리케이션 설계 패턴입니다.

  • 프레젠테이션 계층
  • 애플리케이션 계층
  • 데이터 계층

세 가지 계층의 세부 사항

프레젠테이션 계층

사용자 인터페이스이자 아키텍처의 최상위 계층입니다. 그 목적은 클라이언트로부터 요청을 받아 클라이언트에 정보를 표시하는 것입니다. 브라우저에 출력을 제공하므로 웹 브라우저를 사용하여 다른 계층과 통신합니다. 웹 기반 계층에 관해 이야기한다면 이는 다음과 같은 언어를 사용하여 개발됩니다. HTML , CSS , 자바스크립트.

애플리케이션 계층

프리젠테이션 계층을 통해 수집된 정보/요청이 여기에서 자세히 처리되므로 논리 계층이라고도 알려진 아키텍처의 중간 계층입니다. 또한 데이터를 저장하는 서버와 상호 작용합니다. 클라이언트의 요청을 처리하고 형식을 지정하여 클라이언트로 다시 보냅니다. 다음과 같은 언어를 사용하여 개발되었습니다. 파이썬 , 자바 , PHP 등



데이터 계층

이는 데이터베이스 계층이라고도 알려진 아키텍처의 마지막 계층입니다. 처리된 정보를 나중에 필요할 때 검색할 수 있도록 저장하는 데 사용됩니다. 다음과 같은 데이터베이스 서버로 구성됩니다. 신탁 , MySQL, DB2 등. 프레젠테이션 계층과 데이터 계층 간의 통신은 중간 계층, 즉 애플리케이션 계층을 사용하여 수행됩니다.

3계층 아키텍처

계층 대 계층



계층은 구성 요소의 물리적 분리를 나타냅니다.

레이어는 애플리케이션의 논리적 분리를 나타냅니다.

자바 csv 읽기

계층은 물리적으로 분리되어 있으며 다른 시스템에서 실행되는 서버입니다.

레이어는 논리적으로 분리되어 있지만 동일한 서버나 시스템에서 실행됩니다.

애플리케이션의 확장성이 매우 높습니다.

애플리케이션의 확장성은 중간입니다.

다중 계층 아키텍처의 일반적인 계층에는 프레젠테이션 계층(사용자 인터페이스), 애플리케이션 계층(비즈니스 로직) 및 데이터 계층(데이터베이스)이 포함됩니다.

각 계층은 단일 계층 내에서 프레젠테이션, 비즈니스 논리, 데이터 액세스와 같은 특정 책임에 중점을 둡니다.

웹 개발의 3계층 애플리케이션

웹 애플리케이션은 세 가지 아키텍처와 동일한 계층을 가지지만 차이점은 이름이 다르다는 것입니다.

테스트 유형
  1. 웹 서버: 웹 서버는 프레젠테이션 계층 또는 UI(사용자 인터페이스) 계층으로 서버를 구성하는 3계층 아키텍처의 프레젠테이션 계층입니다. 이 콘텐츠는 사용자가 장바구니에 제품을 추가하거나 결제 세부 정보를 입력하거나 계정을 만들 수 있는 전자 상거래 사이트 등의 요구 사항에 따라 정적이거나 동적일 수 있습니다.
  2. 애플리케이션 서버: 애플리케이션 계층은 사용자 입력 등을 처리하는 비즈니스에 필요한 전체 논리로 구성된 중간 계층입니다. 재고 데이터베이스에 쿼리와 같은 논리를 수행하여 제품 가용성을 반환하거나 고객 프로필에 세부 정보를 추가합니다.
  3. 데이터베이스 서버: 이는 웹 애플리케이션의 백엔드 계층으로, 모든 데이터로 구성되므로 이 계층에는 대부분 다음과 같은 데이터베이스가 있습니다. MySQL, Oracle, DB2 또는 PostgreSQL.

기타 다중 계층 아키텍처

3계층 아키텍처는 애플리케이션 개발에 널리 사용되며 아래에 언급된 다른 아키텍처도 있습니다.

2계층 아키텍처

이것은 두 개의 계층으로 구성된 기본 소프트웨어 아키텍처입니다. 하나는 클라이언트이고 다른 하나는 서버입니다. 각 계층은 고유한 책임을 갖고 서로 연결되거나 서로 의존합니다.

클라이언트 계층

클라이언트 계층은 애플리케이션의 사용자 인터페이스 및 상호 작용 부분과 유사한 최상위 계층입니다. 이는 사용자가 애플리케이션과 상호 작용하는 웹 브라우저, 데스크톱 애플리케이션 또는 모바일 앱 역할을 합니다. 데이터를 제시하고 애플리케이션의 입력을 처리하는 역할을 담당합니다.

서버 계층

서버 계층은 데이터 처리 및 데이터 관리를 처리하는 데 필요한 논리를 포함하는 최하위 계층입니다.

N 계층 아키텍처

다중 계층 아키텍처라고도 알려진 N 계층 아키텍처는 복잡성과 요구 사항에 따라 애플리케이션을 다양한 계층으로 나눕니다. 다음은 아키텍처에 포함된 일부 계층입니다.

  • 프레젠테이션 계층(클라이언트 계층)
  • 애플리케이션 계층(중간 계층 또는 비즈니스 로직 계층)
  • 데이터 계층(데이터 스토리지 계층 또는 데이터베이스 계층)
  • 서비스 계층(비즈니스 서비스 또는 애플리케이션 서비스)
  • 통합 계층(통합 서비스).

3계층 아키텍처의 이점

  • 프레젠테이션 계층, 애플리케이션 계층 및 데이터베이스 계층 간에 논리적 분리가 유지됩니다.
  • 작업이 분산 시스템의 여러 시스템으로 나누어지고, 또한 각 계층이 다른 계층과 독립적이므로 성능이 향상됩니다.
  • 계층을 독립적으로 확장할 수 있으므로 서버 추가에 대한 수요 증가도 아키텍처에서 처리할 수 있습니다.
  • 개발자는 다른 계층에 영향을 주지 않으므로 한 계층의 기술을 독립적으로 업데이트합니다.
  • 한 계층의 문제가 다른 계층에 영향을 미치지 않으므로 계층의 독립성을 통해 안정성이 향상됩니다.
  • 프로그래머는 데이터베이스, 프레젠테이션 코드, 비즈니스/애플리케이션 로직을 별도로 쉽게 유지 관리할 수 있습니다. 비즈니스/애플리케이션 로직에 변경이 필요한 경우 프레젠테이션 코드 및 코드베이스에 영향을 미치지 않습니다.
  • 프레젠테이션 계층 작업이 데이터 계층 서버와 분리되므로 로드 균형이 조정됩니다.
  • 클라이언트가 데이터베이스 계층과 직접 통신할 수 없으므로 보안이 향상됩니다. 또한 데이터는 데이터베이스 계층으로 전달되기 전에 애플리케이션 계층에서 검증됩니다.
  • 데이터의 무결성이 유지됩니다.
  • 하나의 특정 기술에 국한되지 않고 다양한 데이터베이스에 배포를 제공합니다.

3계층 아키텍처의 단점

  • 프레젠테이션 계층은 데이터베이스 계층과 직접 통신할 수 없습니다.
  • 아키텍처의 계층이 증가하면 복잡성도 증가합니다.
  • 코드베이스, 프리젠테이션 코드, 애플리케이션 코드를 별도로 관리해야 하므로 리소스 수가 증가합니다.

3계층 아키텍처에 대한 FAQ

1. DBMS의 3계층 아키텍처

그만큼 데이터베이스 관리 시스템(DBMS) 프레젠테이션 계층, 애플리케이션 계층, 데이터베이스 계층이라는 세 가지 논리적 계층과 물리적 계층으로 구분됩니다. 이를 DBMS의 3계층 아키텍처라고 합니다.

2. C#의 3계층 아키텍처

씨# 애플리케이션은 프레젠테이션 계층, 애플리케이션 계층, 데이터 계층이라는 세 가지 논리적 및 물리적 계층으로 나뉩니다. 이를 3계층 아키텍처라고 합니다.

3. AWS(Amazon Web Services)의 3계층 아키텍처

3계층 아키텍처 아마존 웹 서비스(AWS) AWS 클라우드 리소스 및 서비스를 활용하여 애플리케이션을 세 가지 논리적 계층으로 분리하는 웹 애플리케이션 또는 서비스의 설계를 의미합니다. 각 계층에는 특정 책임이 있으며 AWS는 이 아키텍처의 구현을 지원하기 위해 다양한 서비스를 제공합니다.

4. 모바일 컴퓨팅의 3계층 아키텍처

모바일 컴퓨팅의 맥락에서 3계층 아키텍처는 모바일 애플리케이션이나 시스템을 각각 특정 책임이 있는 3개의 논리적 계층 또는 계층으로 구성하는 것을 의미합니다.