3계층 웹 앱 템플릿

이 가이드는Google Cloud에 3계층 웹 애플리케이션 스택을 신속하게 배포하는 데 도움이 되는 3계층 웹 앱 애플리케이션 템플릿을 이해하는 데 도움이 됩니다.

3계층 웹 앱에는 다음이 포함됩니다.

  • 다음을 처리하는 선택적 부하 분산기:
    • 수신 트래픽
    • 프런트엔드 서비스로의 트래픽 분산
  • 서버리스 서비스로 배포된 컨테이너화된 앱:
    • 웹 기반 프런트엔드
    • 중간 계층의 API 레이어
  • SQL 데이터베이스 백엔드입니다.
  • 자주 액세스되는 데이터를 제공하는 인메모리 캐시

사용 제품

애플리케이션에는 다음 Google Cloud 제품이 포함됩니다.

  • Cloud Load Balancing(선택사항): Google Cloud에서 확장 가능한 고성능 부하 분산을 제공하는 서비스입니다.
  • Cloud Run: 서버리스 컨테이너화된 앱을 빌드하고 배포할 수 있는 완전 관리형 서비스입니다.Google Cloud 에서 확장과 기타 인프라 태스크를 처리하여 코드의 비즈니스 로직에 집중할 수 있습니다.
  • Cloud SQL: Google Cloud의 완전 관리형 PostgreSQL 데이터베이스입니다. 이렇게 하면 데이터베이스 관리 작업을 수행할 필요가 없으므로 데이터 관리에 더 집중할 수 있습니다.
  • Redis용 Memorystore: 확장 가능하고 안전하며 가용성이 높은 Redis용 인메모리 서비스를 사용하여 애플리케이션 캐싱을 제공하는 서비스입니다. 이를 통해 액세스 빈도가 높은 데이터에 대해 지연 시간이 낮은 액세스 및 높은 처리량을 제공할 수 있습니다.

아키텍처

다음 이미지는 애플리케이션의 구성요소와 연결을 보여줍니다.

디자인 캔버스에 있는 3계층 웹 애플리케이션 애플리케이션에는 프런트엔드, 백엔드, 데이터베이스 구성요소가 포함됩니다.

다음은 애플리케이션의 요청 처리 흐름입니다.

  1. Cloud Load Balancing 프런트엔드는 외부 요청을 수신하고 트래픽을 Cloud Load Balancing 백엔드에 분산합니다.
  2. Cloud Load Balancing 백엔드는 트래픽을 Cloud Run 서비스로 분산합니다.
  3. 웹 기반 Cloud Run 프런트엔드 서비스는 사용자의 브라우저에서 HTML 클라이언트를 렌더링합니다.
  4. 프런트엔드 서비스는 Cloud Run 서비스로도 배포되는 API 레이어로 요청을 전송합니다.
  5. Redis용 Memorystore는 자주 읽는 데이터를 캐시하고 제공합니다.
  6. API 레이어는 인메모리 Redis 캐시에서 처리할 수 없는 요청을 Cloud SQL 데이터베이스로 전송합니다.

다음 단계