샘플 앱 소개
참고 항목
기본, 표준 및 엔터프라이즈 계획은 2025년 3월 중순부터 사용되지 않으며 3년의 은퇴 기간이 있습니다. Azure Container Apps로 전환하는 것이 좋습니다. 자세한 내용은 Azure Spring Apps 사용 중지 공지 사항을 참조하세요.
표준 소비 및 전용 계획은 2024년 9월 30일부터 사용되지 않으며 6개월 후에 완전히 종료됩니다. Azure Container Apps로 전환하는 것이 좋습니다. 자세한 내용은 Azure Spring Apps 표준 사용량 및 전용 계획을 Azure Container Apps로 마이그레이션을 참조 하세요.
이 문서는 기본/표준 ✅ 엔터프라이즈에✅ 적용됩니다.
이 빠른 시작에서는 Azure Spring Apps 서비스에 앱을 배포하는 방법을 보여 주는 잘 알려진 샘플 앱 PetClinic을 사용합니다. Pet Clinic 샘플은 마이크로 서비스 아키텍처 패턴을 보여 주고 서비스 내역을 요약합니다. 서비스 검색, 구성 서버, 로그, 메트릭, 분산 추적 및 개발자 친화적인 도구 지원과 같은 Azure Spring Apps 기능을 사용하여 Azure에 서비스를 배포하는 방법을 알아봅니다.
Azure Spring Apps 배포 예제를 따르려면 필요에 따라 제공되는 소스 코드의 위치만 필요합니다.
다음 다이어그램은 PetClinic 애플리케이션의 아키텍처를 보여 줍니다.
참고 항목
애플리케이션이 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 애플리케이션을 향상시키는 도구를 제공합니다.
- 구성 서비스: Azure Spring Apps 구성은 분산 시스템에 대한 수평 스케일링 가능한 중앙 집중식 구성 서비스입니다. 현재 로컬 스토리지, Git 및 Subversion을 지원하는 플러그형 리포지토리를 사용합니다.
- 서비스 검색: 자동 스케일링, 오류 및 업그레이드로 인해 주소가 동적으로 할당될 수 있는 서비스 인스턴스에 대한 네트워크 위치의 자동 검색을 허용합니다.
데이터베이스 구성
기본 구성의 Pet Clinic은 시작 시 데이터로 채워지는 메모리 내 데이터베이스(HSQLDB)를 사용합니다. 영구 데이터베이스 구성이 필요한 경우 MySQL에 유사한 설정이 제공됩니다. MySQL JDBC 드라이버인 Connector/J에 대한 종속성은 이미 pom.xml 파일에 포함되어 있습니다.
PetClinic의 샘플 사용법
전체 구현에 대한 자세한 내용은 PetClinic의 포크를 참조하세요. 샘플은 필요한 경우 소스 코드를 참조합니다.