이 가이드는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용 인메모리 서비스를 사용하여 애플리케이션 캐싱을 제공하는 서비스입니다. 이를 통해 액세스 빈도가 높은 데이터에 대해 지연 시간이 낮은 액세스 및 높은 처리량을 제공할 수 있습니다.
아키텍처
다음 이미지는 애플리케이션의 구성요소와 연결을 보여줍니다.
다음은 애플리케이션의 요청 처리 흐름입니다.
- Cloud Load Balancing 프런트엔드는 외부 요청을 수신하고 트래픽을 Cloud Load Balancing 백엔드에 분산합니다.
- Cloud Load Balancing 백엔드는 트래픽을 Cloud Run 서비스로 분산합니다.
- 웹 기반 Cloud Run 프런트엔드 서비스는 사용자의 브라우저에서 HTML 클라이언트를 렌더링합니다.
- 프런트엔드 서비스는 Cloud Run 서비스로도 배포되는 API 레이어로 요청을 전송합니다.
- Redis용 Memorystore는 자주 읽는 데이터를 캐시하고 제공합니다.
- API 레이어는 인메모리 Redis 캐시에서 처리할 수 없는 요청을 Cloud SQL 데이터베이스로 전송합니다.
다음 단계
- 다른 Google 제공 템플릿을 찾아 사용하는 방법을 알아보세요.
- 구체적인 요구사항에 맞게 템플릿을 맞춤설정하는 방법을 알아봅니다.
- Google Cloud 아키텍처 프레임워크에서 일반적인 아키텍처 권장사항을 확인합니다.