다음을 통해 공유


마이크로서비스 아키텍처 디자인

마이크로 서비스는 복원력을 유지하고, 효율적으로 확장하고, 독립적으로 배포하고, 빠르게 진화하는 클라우드 애플리케이션을 빌드하기 위한 인기 있는 아키텍처 스타일입니다. 실제 가치를 제공하기 위해 마이크로 서비스에는 설계 및 애플리케이션 개발에 대한 다른 접근 방식이 필요합니다.

이 문서 집합에서는 Azure에서 마이크로 서비스 아키텍처를 빌드하는 방법을 살펴봅니다. 여기에는 다음 지침이 포함됩니다.

  • 마이크로 서비스에 대한 컴퓨팅 옵션: AKS(Azure Kubernetes Service), Azure Container Apps 및 Azure Functions를 비롯한 마이크로 서비스에 대한 Azure 컴퓨팅 서비스를 평가합니다. 확장성, 관리 오버헤드 및 배포 모델에 대한 요구 사항에 따라 각 서비스를 사용하는 시기를 알아봅니다.

  • 서비스 간 통신: 동기 및 비동기 방법을 사용하여 마이크로 서비스 간에 효과적인 통신 패턴을 디자인합니다. 안정적인 서비스 간 통신을 위한 REST API, 메시징 패턴, 이벤트 기반 아키텍처 및 서비스 메시 기술에 대해 알아봅니다.

  • API 디자인: 마이크로 서비스 아키텍처 원칙을 지원하는 잘 설계된 API를 만듭니다. API 버전 관리 전략, 오류 처리 패턴 및 느슨한 결합 및 독립적인 서비스 진화를 촉진하는 API를 디자인하는 방법을 알아봅니다.

  • API 게이트웨이: 횡단 관심사인 인증, 요청 제한 및 요청 라우팅을 관리하기 위해 API 게이트웨이를 구현합니다. 게이트웨이가 클라이언트 상호 작용을 간소화하고 마이크로 서비스 에코시스템 전체에서 중앙 집중식 정책 적용을 제공하는 방법을 이해합니다.

  • 데이터 고려 사항: 데이터 일관성 패턴, 분산 트랜잭션 및 적절한 데이터 저장소 선택을 포함하여 마이크로 서비스 아키텍처의 데이터 관리 문제를 해결합니다. 서비스 경계를 넘어 데이터 무결성을 유지하기 위한 전략을 알아봅니다.

  • 컨테이너 오케스트레이션: 컨테이너 오케스트레이터를 사용하여 대규모로 컨테이너화된 마이크로 서비스를 배포하고 관리합니다. Kubernetes와 같은 플랫폼이 배포, 크기 조정, 부하 분산 및 상태 관리를 자동화하여 프로덕션 환경에서 원하는 시스템 상태를 유지하는 방법을 이해합니다.

  • 디자인 패턴: 연결 작업을 오프로드하기 위한 앰배서더 패턴, 리소스 격리를 위한 Bulkhead 패턴 및 증분 애플리케이션 리팩터링을 위한 스트랭글러 무화과 패턴을 포함하여 마이크로 서비스에 특정한 검증된 디자인 패턴을 적용합니다.

필수 조건

이러한 문서를 읽기 전에 다음 리소스로 시작합니다.

예제 아키텍처

드론 배달 워크로드의 아키텍처를 보여 주는 다이어그램.

이 아키텍처의 Visio 파일을 다운로드합니다.

Scenario

Fabrikam, Inc.는 드론 배달 서비스를 만듭니다. 이 회사는 무인 항공기의 함대를 관리합니다. 기업들이 서비스에 등록하며, 사용자는 배달할 상품을 드론이 픽업하도록 요청할 수 있습니다. 고객이 픽업을 예약할 때 백 엔드 시스템은 드론을 할당하고 예상 배달 시간을 사용자에게 알깁니다. 배달 중에 고객은 지속적으로 업데이트된 ETA(예상 도착 시간)를 포함하여 드론의 위치를 추적할 수 있습니다.

이 솔루션은 항공 우주 및 항공기 산업에 적합합니다.

이 시나리오에는 상당히 복잡한 도메인이 포함됩니다. 일부 비즈니스 문제에는 드론 예약, 패키지 추적, 사용자 계정 관리, 기록 데이터 저장 및 분석 등이 있습니다. Fabrikam은 또한 시장에 출시한 다음 신속하게 반복하여 새로운 기능과 기능을 추가하려고 합니다. 애플리케이션은 높은 SLO(서비스 수준 목표)를 사용하여 클라우드 규모로 작동해야 합니다. Fabrikam은 또한 시스템의 여러 부분에 데이터 스토리지 및 쿼리에 대한 요구 사항이 매우 다를 것으로 예상합니다. 고려 사항에 따라 Fabrikam은 드론 배달 애플리케이션에 대한 마이크로 서비스 아키텍처를 선택합니다.

비고

마이크로 서비스 아키텍처와 기타 아키텍처 스타일 중에서 선택하는 방법에 대한 자세한 내용은 Azure 애플리케이션 아키텍처 가이드를 참조하세요.

이 아키텍처는 AKS와 함께 Kubernetes를 사용합니다. 그러나 많은 상위 수준의 아키텍처 결정 및 과제는 컨테이너 오케스트레이터에 적용됩니다.

다음 단계