.NET .NET Aspire 개요
.NET Aspire 관찰 가능한 프로덕션 준비 앱을 빌드하기 위한 도구, 템플릿 및 패키지 집합입니다. .NET Aspire 최신 앱 개발을 통해 특정 문제를 부트스트랩하거나 개선하는 NuGet 패키지 컬렉션을 통해 제공됩니다. 오늘날의 앱은 일반적으로 데이터베이스, 메시징 및 캐싱과 같은 많은 서비스를 사용하며, 그 중 상당수는 .NET.NET Aspire Integrations통해 지원됩니다. 지원에 대한 자세한 내용은 .NET.NET Aspire 지원 정책참조하세요.
왜 .NET.NET Aspire?
.NET .NET Aspire 다양한 프로젝트와 리소스가 있는 앱을 빌드하는 환경을 개선합니다. 배포된 시나리오를 에뮬레이트하는 개발 시간 생산성 향상을 통해 상호 연결된 앱을 신속하게 개발할 수 있습니다. 유연성을 위해 설계된 .NET.NET Aspire 원하는 도구 및 워크플로로 부품을 교체하거나 확장할 수 있습니다. 주요 기능은 다음과 같습니다.
- Dev-Time 오케스트레이션: .NET.NET Aspire로컬 개발 환경에 대한 다중 프로젝트 애플리케이션, 컨테이너 리소스 및 기타 종속성을 실행하고 연결하는 기능을 제공합니다.
- 통합: .NET Aspire 통합은 Redis 또는 Postgres같은 일반적으로 사용되는 서비스에 대한 NuGet 패키지이며, 표준화된 인터페이스를 통해 앱과 일관되고 원활하게 연결할 수 있습니다.
- 도구: .NET Aspire에는 Visual Studio, Visual Studio Code, 그리고 .NET CLI를 위한 프로젝트 템플릿과 도구 환경이 포함되어 있어 .NET.NET Aspire 프로젝트를 생성하고 상호 작용하는 데 도움이 됩니다.
개발 시 오케스트레이션
.NET .NET Aspire"오케스트레이션"은 주로 앱의 구성 및 상호 연결 관리를 간소화하여 로컬 개발 환경을 향상시키는 데 중점을 둡니다. .NET .NET Aspire오케스트레이션은 Kubernetes같은 프로덕션 환경에서 사용되는 강력한 시스템을 대체하기 위한 것이 아닙니다. 대신 서비스 검색, 환경 변수 및 컨테이너 구성의 설정을 간소화하여 하위 수준 구현 세부 정보를 처리할 필요가 없는 추상화 집합입니다. .NET .NET Aspire사용하면 코드는 복잡한 수동 단계 없이도 모든 개발 머신에서 일관된 부트스트래핑 환경을 제공하여 개발 단계에서 보다 쉽게 관리할 수 있습니다.
.NET .NET Aspire 오케스트레이션은 다음과 같은 문제를 해결합니다.
- 앱 컴퍼지션: 애플리케이션을 구성하는 .NET 프로젝트, 컨테이너, 실행 파일 및 클라우드 리소스를 지정합니다.
- 서비스 검색 및 연결 문자열 관리: 앱 호스트는 개발자 환경을 간소화하기 위해 올바른 연결 문자열, 네트워크 구성 및 서비스 검색 정보를 삽입합니다.
예를 들어 .NET Aspire사용하여 다음 코드는 로컬 Redis 컨테이너 리소스를 만들고, 사용할 수 있게 될 때까지 기다린 다음, 몇 가지 도우미 메서드 호출을 사용하여 "frontend"
프로젝트에서 적절한 연결 문자열을 구성합니다.
// Create a distributed application builder given the command line arguments.
var builder = DistributedApplication.CreateBuilder(args);
// Add a Redis server to the application.
var cache = builder.AddRedis("cache");
// Add the frontend project to the application and configure it to use the
// Redis server, defined as a referenced dependency.
builder.AddProject<Projects.MyFrontend>("frontend")
.WithReference(cache)
.WaitFor(cache);
자세한 내용은 .NET.NET Aspire 오케스트레이션 개요참조하세요.
중요하다
AddRedis 호출은 로컬 개발 환경에 새 Redis 컨테이너를 만듭니다. 기존 Redis 인스턴스를 사용하려는 경우 AddConnectionString 메서드를 사용하여 기존 연결 문자열을 참조할 수 있습니다. 자세한 내용은 기존 리소스 참조를 참조하세요.
.NET .NET Aspire 통합
.NET .NET Aspire 통합은Redis 또는 PostgreSQL같은 인기 있는 서비스 및 플랫폼에 대한 연결을 간소화하도록 설계된 NuGet 패키지입니다. .NET .NET Aspire 통합은 상태 검사 및 원격 분석 추가와 같은 표준화된 패턴을 통해 클라우드 리소스 설정 및 상호 작용을 처리합니다. 통합은 두 부분으로 나뉩니다. 호스팅 통합은 연결하려는 서비스를 나타내며, 클라이언트 통합은 그 서비스의 클라이언트나 소비자를 나타냅니다. 즉, 많은 호스팅 패키지의 경우 코드 내에서 서비스 연결을 처리하는 해당 클라이언트 패키지가 있습니다.
각 통합은 .NET.NET Aspire 앱 호스트와 작동하도록 설계되었으며, 명명된 리소스 을 참조하는에 의해 해당 구성이 자동으로 삽입됩니다. 즉, Example.ServiceFoo
예를 들어 .NET.NET Aspire Service Bus 통합을 사용하여 다음 코드를 고려합니다.
builder.AddAzureServiceBusClient("servicebus");
AddAzureServiceBusClient 메서드는 다음과 같은 문제를 처리합니다.
- DI 컨테이너에서 ServiceBusClient에 연결용으로 Azure Service Bus을(를) 싱글톤으로 등록합니다.
- 코드를 통해 직접 또는 구성을 통해 인라인으로 ServiceBusClient 구성값을 적용합니다.
- Azure Service Bus 사용과 관련된 상태 검사, 로깅 및 원격 분석을 활성화합니다.
사용 가능한 통합의 전체 목록은 .NET.NET Aspire 통합 개요 페이지에 자세히 설명되어 있습니다.
프로젝트 템플릿 및 도구
.NET Aspire Visual Studio, Visual Studio Code및 .NET CLI위한 프로젝트 템플릿 및 도구 환경 집합을 제공합니다. 이러한 템플릿은 .NET Aspire 프로젝트를 만들고 상호 작용하거나 기존 코드베이스에 .NET Aspire 추가할 수 있도록 설계되었습니다. 템플릿에는 빠르게 시작하는 데 도움이 되는 의견 있는 기본값 집합이 포함되어 있습니다. 예를 들어 상태 검사를 켜고 .NET 앱에 로그인하기 위한 상용구 코드가 있습니다. 이러한 기본값은 완전히 사용자 지정할 수 있으므로 필요에 맞게 편집하고 조정할 수 있습니다.
.NET .NET Aspire 템플릿에는 일반적인 서비스 구성을 처리해주는 보일러플레이트 확장 메서드도 포함됩니다.
builder.AddServiceDefaults();
AddServiceDefaults
수행하는 작업에 대한 자세한 내용은 .NET.NET Aspire 서비스 기본값참조하세요.
Program.cs 파일에 추가된 경우 위의 코드는 다음과 같은 문제를 처리합니다.
- OpenTelemetry: ASP.NET Core, gRPC 및 HTTP에 대한 형식 있는 로깅, 런타임 메트릭, 내장 미터 및 추적을 설정합니다. 자세한 내용은 .NET.NET Aspire 원격 분석참조하세요.
-
기본 상태 검사: 도구가 앱을 모니터링하기 위해 쿼리할 수 있는 기본 상태 검사 엔드포인트를 추가합니다. 자세한 내용은 C#
앱 상태 검사를 참조하세요. - 서비스 검색: 앱에 대한 서비스 검색 사용하도록 설정하고 그에 따라 HttpClient 구성합니다.
다음 단계
.NET Aspire