.NET .NET Aspire 통합 개요
.NET Aspire 통합은 클라우드 네이티브 애플리케이션과 Redis 및 PostgreSQL같은 저명한 서비스 및 플랫폼의 통합을 용이하게 하기 위해 선택된 큐레이팅된 NuGet 패키지 제품군입니다. 각 통합은 자동 프로비저닝 또는 표준화된 구성 패턴을 통해 필수 클라우드 네이티브 기능을 제공합니다.
팁
항상 최신 버전의 .NET.NET Aspire 통합을 사용하여 최신 기능, 개선 사항 및 보안 업데이트를 활용하려고 노력합니다.
통합 책임
대부분의 .NET.NET Aspire 통합은 각각 다른 책임이 있는 두 개의 개별 라이브러리로 구성됩니다. 한 가지 형식은 앱 호스트 프로젝트 내의 리소스(호스팅 통합)를 나타냅니다. 통합의 다른 유형은 통합을 호스팅하여 모델링된 리소스와 연결하는 client 라이브러리이며, 이들은 client 통합으로 알려져 있습니다.
호스팅 통합
호스팅 통합은 리소스(예: 컨테이너 또는 클라우드 리소스)를 프로비전하거나 기존 인스턴스(예: 로컬 SQL server)를 가리켜 애플리케이션을 구성합니다. 이러한 패키지는 캐시, 데이터베이스, 로깅, 스토리지 및 메시징 시스템을 비롯한 다양한 서비스, 플랫폼 또는 기능을 모델링합니다.
호스팅 통합은 IDistributedApplicationBuilder 인터페이스를 확장하여 앱 호스트 프로젝트가 앱 모델내에서 리소스를 표현할 수 있도록 합니다. 통합 NuGet 패키지를 호스팅하는 공식 aspire
, integration
및 hosting
태그가 지정됩니다. 공식 호스팅 통합 외에도 커뮤니티는 커뮤니티 도구 키트의 일환으로 다양한 서비스 및 플랫폼에 대한 호스팅 통합 만들었습니다.
사용자 지정 호스팅 통합을 만드는 방법에 대한 자세한 내용은 의 "사용자 지정 .NET.NET Aspire 호스팅 통합만들기"를 참조하세요.
Client 통합
Aspire.
접두사가 붙고, 그다음 통합되는 전체 패키지 이름을 포함합니다. 예를 들어, Aspire.StackExchange.Redis
을 포함합니다.
이러한 패키지는 호스팅 통합에 연결하도록 기존 client 라이브러리를 구성합니다. 그들은 웹앱 또는 API와 같은 client을 사용하는 프로젝트가 연결된 리소스를 사용할 수 있도록 IHostApplicationBuilder 인터페이스를 확장합니다. 공식 client 통합 NuGet 패키지는 aspire
, integration
및 client
태그로 지정되어 있습니다. 공식 client 통합 외에도 커뮤니티는 커뮤니티 도구 키트의 일환으로 다양한 서비스 및 플랫폼에client 통합을 만들었습니다.
사용자 지정 client 통합을 만드는 방법에 대한 자세한 내용은 사용자 지정 .NET Aspireclient 통합 만들기참조하세요.
호스팅과 client 통합 간의 관계
호스팅 및 client 통합은 함께 사용할 때 가장 좋지만 결합되지 않으며 별도로 사용할 수 있습니다. 일부 호스팅 통합에는 대응하는 client 통합이 존재하지 않습니다. 구성이 호스팅 통합이 client 통합과 함께 작동하도록 합니다.
호스팅과 client 통합 간의 관계를 보여 주는 다음 다이어그램을 고려합니다.
앱 호스트 프로젝트는 호스팅 통합이 사용되는 위치입니다. 구성, 특히 환경 변수는 프로젝트, 실행 파일 및 컨테이너에 삽입되므로 client 통합이 호스팅 통합에 연결할 수 있습니다.
통합 기능
.NET Aspire 솔루션 내의 프로젝트에 client 통합을 추가하면 서비스 기본값 해당 프로젝트에 자동으로 적용됩니다. 서비스 기본값 프로젝트가 참조되고 AddServiceDefaults
확장 메서드가 호출됨을 의미합니다. 이러한 기본값은 대부분의 시나리오에서 잘 작동하도록 설계되었으며 필요에 따라 사용자 지정할 수 있습니다. 다음 서비스 기본값이 적용됩니다.
관찰 가능성 및 원격 분석: 로깅, 추적 및 메트릭 구성을 자동으로 설정합니다.
상태 검사: HTTP 엔드포인트를 노출하여 앱에 대한 기본 가용성 및 상태 정보를 제공합니다. 상태 검사는 컨테이너 오케스트레이터, 부하 분산 장치, API 게이트웨이 및 기타 관리 서비스의 결정에 영향을 주는 데 사용됩니다.
복원력: 오류에 react 작동 상태를 유지하는 시스템의 기능입니다. 복원력은 오류를 방지하는 것 이상으로 확장되어 클라우드 네이티브 환경을 복구하고 다시 정상 상태로 다시 구성하는 것을 포함합니다.
공식 통합
.NET .NET Aspire 클라우드 네이티브 애플리케이션을 빌드하는 데 도움이 되는 많은 통합을 제공합니다. 이러한 통합은 .NET Aspire 앱 호스트 및 client 라이브러리와 원활하게 작동하도록 설계되었습니다. 다음 섹션에서는 클라우드 독립적, Azure-특정, AWS(Amazon Web Services), 및 커뮤니티 도구 키트 통합에 대해 자세히 설명합니다.
클라우드에 구애받지 않은 통합
다음 섹션에서는 해당 문서 및 NuGet 패키지에 대한 링크와 함께 클라우드에 구애받지 않은 .NET.NET Aspire 통합에 대해 자세히 설명하며 각 통합에 대한 간략한 설명을 제공합니다.
Visual Studio에서 .NET Aspire 통합 작업에 대한 자세한 정보를 보려면 Visual Studio 도구를 참조하세요.
Azure 통합
Azure 통합은 Azure 리소스를 사용하도록 애플리케이션을 구성합니다. 이러한 호스팅 통합은 Aspire.Hosting.Azure.*
NuGet 패키지에서 사용할 수 있으며 client 통합은 Aspire.*
NuGet 패키지에서 사용할 수 있습니다.
AWS(Amazon Web Services) 호스팅 통합
통합 문서 및 NuGet 패키지 | 묘사 |
---|---|
- 호스팅: 📦Aspire.호스팅.AWS - Client: 해당 없음 |
AWS 리소스 을 모델링하기 위한 라이브러리입니다. |
자세한 내용은 GitHub: Aspire.Hosting.AWS 라이브러리을 참조하십시오.
커뮤니티 도구 키트 통합
메모
커뮤니티 도구 키트 통합은 커뮤니티 기반이며 .NET.NET Aspire 커뮤니티에서 유지 관리합니다. 이러한 통합은 .NET.NET Aspire 팀에서 공식적으로 지원되지 않습니다.
통합 문서 및 NuGet 패키지 | 묘사 |
---|---|
-
더 알아보기: 📄Azure Static Web Apps 에뮬레이터 - 호스팅: 📦 CommunityToolkit.Aspire. 호스팅.Azure. StaticWebApps - Client: 해당 없음 |
Azure Static Web Apps 에뮬레이터 용 호스팅 통합입니다(참고: 이는 프로젝트를 Azure Static Web Apps에 배포하는 것을 지원하지 않습니다). |
-
자세히알아보기: 📄 Bun 호스팅 - 호스팅: 📦 CommunityToolkit.Aspire. Hosting.Bun - Client: 해당 없음 |
Bun 앱에 대한 호스팅 통합입니다. |
-
자세히알아보기: 📄Deno 호스팅 - 호스팅: 📦 CommunityToolkit.Aspire.호스팅.Deno - Client: 해당 없음 |
Deno 앱에 대한 호스팅 통합입니다. |
-
자세히알아보기: 📄 Go 호스팅 - 호스팅: 📦 CommunityToolkit.Aspire. Hosting.Golang - Client: 해당 없음 |
Go 앱에 대한 호스팅 통합입니다. |
-
자세히알아보기 : 📄 Java/Spring 호스팅 - 호스팅: 📦 CommunityToolkit.Aspire. Hosting.Java - Client: 해당 없음 |
로컬 JDK를 사용하거나 컨테이너를 사용하는 .NET.NET Aspire Java 코드를 실행하기 위한 통합입니다. |
-
자세한알아보기: 📄Node.js 호스팅 확장 - 호스팅: 📦 CommunityToolkit.Aspire.Hosting.NodeJs.Extensions - Client: 해당 없음 |
Node.js 애플리케이션을 실행하기 위한 몇 가지 추가 확장이 포함된 통합 |
-
자세히알아보기: 📄 Ollama - 호스팅: 📦 CommunityToolkit.Aspire. Hosting.Ollama - Client: 📦Aspire.CommunitToolkit.OllamaSharp |
시작 시 모델 다운로드를 지원하는 Ollama 컨테이너를 활용하는 Aspire 구성 요소입니다. |
-
자세히알아보기: 📄 Meilisearch 호스팅 - 호스팅: 📦 CommunityToolkit.Aspire. Hosting.Meilisearch - Client: 📦Aspire. CommunitToolkit.Meilisearch |
Meilisearch 컨테이너를 활용하여 제작한 Aspire 구성 요소입니다. |
-
자세히알아보기: 📄 Rust 호스팅 - 호스팅: 📦 커뮤니티툴킷.Aspire.호스팅.Rust - Client: 해당 없음 |
Rust 앱에 대한 호스팅 통합입니다. |
-
자세히 알아보기: 📄 SQL Database 프로젝트 호스팅 - 호스팅: 📦 CommunityToolkit.Aspire. Hosting.SqlDatabaseProjects - Client: 해당 없음 |
SQL Database 프로젝트에 대한 Aspire 호스팅 통합입니다. |
자세한 내용은 .NET.NET Aspire Community Toolkit참조하세요.
.NET Aspire