샘플 앱 소개

참고 항목

처음 50 vCPU 시간과 100GB 메모리 시간은 매달 무료입니다. 자세한 내용은 Azure의 앱 블로그에서 가격 인하 - Azure Spring Apps로 더 많은 기능을 더 저렴하게!를 참조하세요.

참고 항목

Azure Spring Apps는 Azure Spring Cloud 서비스의 새 이름입니다. 서비스에 새 이름이 지정되었지만, 자산을 업데이트하는 동안 스크린샷, 비디오, 다이어그램과 같은 일부 위치에서는 당분간 이전 이름이 표시됩니다.

이 문서의 적용 대상: ✔️ 기본/표준 ✔️ 엔터프라이즈

이 빠른 시작에서는 Azure Spring Apps 서비스에 앱을 배포하는 방법을 보여 주는 잘 알려진 샘플 앱 PetClinic을 사용합니다. Pet Clinic 샘플은 마이크로 서비스 아키텍처 패턴을 보여 주고 서비스 내역을 요약합니다. 서비스 검색, 구성 서버, 로그, 메트릭, 분산 추적 및 개발자 친화적인 도구 지원과 같은 Azure Spring Apps 기능을 사용하여 Azure에 서비스를 배포하는 방법을 알아봅니다.

Azure Spring Apps 배포 예제를 따르려면 필요에 따라 제공되는 소스 코드의 위치만 필요합니다.

다음 다이어그램은 PetClinic 애플리케이션의 아키텍처를 보여 줍니다.

Diagram that shows the architecture of the PetClinic app.

참고 항목

애플리케이션이 Azure Spring Apps 엔터프라이즈 계획에서 호스트되는 경우 VMware Tanzu®용 관리되는 애플리케이션 구성 서비스는 Spring Cloud Config Server의 역할을 가정하고 관리되는 VMware Tanzu® 서비스 레지스트리는 애플리케이션에 대한 코드 변경 없이 Eureka 서비스 검색의 역할을 가정합니다. 자세한 내용은 이 문서 뒷부분의 Azure Spring Apps에서 호스팅하는 인프라 서비스 섹션을 참조하세요.

배포할 기능 서비스

PetClinic은 4개의 핵심 Spring 앱으로 구성되어 있습니다. 이러한 모든 항목은 비즈니스 도메인별로 구성된 독립적으로 배포 가능한 애플리케이션입니다.

  • 고객 서비스: 반려동물 및 소유자 정보(이름, 주소, 구/군/시, 전화)를 비롯한 일반적인 사용자 입력 논리 및 유효성 검사를 포함합니다.
  • 방문 서비스: 각 애완 동물에 대한 소견이 포함된 방문 정보를 저장하고 표시합니다.
  • 수의사 서비스: 수의사의 이름 및 전문 분야를 비롯한 정보를 저장하고 표시합니다.
  • API 게이트웨이: API 게이트웨이는 요청을 처리하고 적절한 서비스로 라우트하거나 여러 서비스를 호출하여 결과를 집계하는 데 사용되는 시스템의 단일 진입점입니다. 세 가지 핵심 서비스는 외부 API를 클라이언트에 노출합니다. 실제 시스템에서 함수 수는 시스템 복잡성으로 인해 빠르게 증가할 수 있습니다. 복잡한 웹 페이지 하나를 렌더링하는 데 수 백개의 서비스가 필요할 수 있습니다.

Azure Spring Apps에서 호스팅하는 인프라 서비스

분산 시스템에는 핵심 서비스를 지원하는 몇 가지 일반적인 패턴이 있습니다. Azure Spring Apps는 다음과 같은 패턴을 구현하는 Spring Boot 애플리케이션을 향상시키는 도구를 제공합니다.

  • Tanzu용 애플리케이션 구성 서비스: Tanzu용 애플리케이션 구성 서비스는 상용 VMware Tanzu 구성 요소 중 하나입니다. 하나 이상의 Git 리포지토리에 정의된 속성으로 채워진 Kubernetes 네이티브 ConfigMap 리소스를 관리할 수 있습니다.
  • Tanzu Service Registry: Tanzu Service Registry는 상용 VMware Tanzu 구성 요소 중 하나입니다. Spring 기반 아키텍처의 핵심 원칙 중 하나인 서비스 검색 패턴의 구현을 앱에 제공합니다. 앱은 Service Registry를 사용하여 등록된 서비스를 동적으로 검색하고 호출할 수 있습니다.

데이터베이스 구성

기본 구성의 Pet Clinic은 시작 시 데이터로 채워지는 메모리 내 데이터베이스(HSQLDB)를 사용합니다. 영구 데이터베이스 구성이 필요한 경우 MySQL에 유사한 설정이 제공됩니다. MySQL JDBC 드라이버인 Connector/J에 대한 종속성은 이미 pom.xml 파일에 포함되어 있습니다.

PetClinic의 샘플 사용법

전체 구현에 대한 자세한 내용은 PetClinic의 포크를 참조하세요. 샘플은 필요한 경우 소스 코드를 참조합니다.

다음 단계