Omówienie integracji .NET.NET Aspire
.NET Aspire integracje to zestaw wyselekcjonowanych pakietów NuGet przeznaczonych do ułatwienia integracji aplikacji natywnych dla chmury z czołowymi usługami i platformami, takimi jak Redis i PostgreSQL. Każda integracja zapewnia podstawowe funkcje natywne dla chmury za pomocą automatycznych wzorców aprowizacji lub standardowych konfiguracji.
Napiwek
Zawsze staraj się korzystać z najnowszej wersji integracji .NET.NET Aspire, aby korzystać z najnowszych funkcji, ulepszeń i aktualizacji zabezpieczeń.
Obowiązki związane z integracją
Większość integracji .NET.NET Aspire składa się z dwóch oddzielnych bibliotek, z których każda ponosi inną odpowiedzialność. Jeden typ reprezentuje zasoby w projekcie hosta aplikacji
Integracje hostingu
Integracje hostingu konfigurują aplikacje przez udostępnianie zasobów (takich jak kontenery lub zasoby w chmurze) lub wskazywanie istniejących instancji (takich jak lokalny serwer SQL). Te pakiety modelują różne usługi, platformy lub funkcje, w tym pamięć podręczną, bazy danych, logowanie, przechowywanie i systemy obsługi komunikatów.
Integracje hostingu rozszerzają interfejs IDistributedApplicationBuilder, umożliwiając hostowi aplikacji dla projektu wyrażanie zasobów w ramach modelu aplikacji . Oficjalne hostowanie pakietów NuGet integracji są oznaczone aspire
, integration
i hosting
. Oprócz oficjalnych integracji hostingu społeczność stworzyła integracje hostingowe dla różnych usług i platform w ramach zestawu narzędzi Community Toolkit.
Aby uzyskać informacje na temat tworzenia niestandardowej integracji hostingu , zobacz Utwórz niestandardową integrację hostingu .NET.NET Aspire.
Client integracje
Client integracje podłączają biblioteki klienckie do wstrzykiwania zależności (DI), definiują schemat konfiguracji oraz dodają kontroli stanu , odporności i telemetrii tam, gdzie to ma zastosowanie.
.NET
.NET Aspire biblioteki integracji klienta są poprzedzone Aspire.
, a następnie zawierają pełną nazwę pakietu, z którą integrują się, na przykład Aspire.StackExchange.Redis
.
Te pakiety konfigurują istniejące biblioteki klienckie w celu łączenia się z integracją hostingu. Rozszerzają interfejs IHostApplicationBuilder, umożliwiając projektom korzystającym z klienta, takim jak aplikacja internetowa lub interfejs API, używanie połączonego zasobu. Oficjalne pakiety NuGet integracji klienta oznaczone są tagami aspire
, integration
i client
. Oprócz oficjalnych integracji klientów społeczność stworzyła integracje klientów dla różnych usług i platform w ramach zestawu narzędzi Community Toolkit.
Aby uzyskać więcej informacji na temat tworzenia niestandardowej integracji klienta, zobacz Tworzenie niestandardowych .NET.NET Aspire integracji klienta.
Relacja między integracją hostingu i klienta
Integracje hostingu i klienta są najlepiej używane razem, ale nie są połączone i mogą być używane oddzielnie. Niektóre integracje hostingu nie mają odpowiedniej integracji klienta. Konfiguracja sprawia, że integracja hostingu działa z integracją klienta.
Rozważmy następujący diagram przedstawiający relację między integracją hostingu i klienta:
Projekt hosta aplikacji to miejsce, w którym są używane integracje hostingu. Konfiguracja, w szczególności zmienne środowiskowe, jest wstrzykiwana do projektów, plików wykonywalnych i kontenerów, co umożliwia integrowanie klientów z integracją hostingu.
Funkcje integracji
Po dodaniu integracji klienta do projektu w ramach rozwiązania .NET.NET Aspire ustawienia domyślne usługi są automatycznie stosowane do tego projektu; oznacza, że odwołuje się do projektu Service Defaults i wywoływana jest metoda rozszerzenia AddServiceDefaults
. Te wartości domyślne są zaprojektowane tak, aby działały dobrze w większości scenariuszy i można je dostosować zgodnie z potrzebami. Stosowane są następujące wartości domyślne usługi:
Obserwowalność i telemetrię: automatycznie ustawia konfiguracje rejestrowania, śledzenia i metryk:
- Rejestrowanie: technika, w której kod jest przygotowywany, aby umożliwiać tworzenie dzienników interesujących zdarzeń, które wystąpiły podczas działania programu.
- śledzenie: wyspecjalizowana forma rejestrowania, która ułatwia lokalizowanie błędów i problemów z wydajnością w aplikacjach rozproszonych na wielu maszynach lub procesach.
- Metrics: Pomiary liczbowe rejestrowane w czasie w celu monitorowania wydajności i kondycji aplikacji. Metryki są często używane do generowania alertów w przypadku wykrycia potencjalnych problemów.
Sprawdzanie kondycji: uwidacznia punkty końcowe HTTP w celu zapewnienia podstawowej dostępności i informacji o stanie aplikacji. Kontrole kondycji służą do wywierania wpływu na decyzje podejmowane przez koordynatorów kontenerów, moduły równoważenia obciążenia, bramy interfejsu API i inne usługi zarządzania.
odporność: zdolność systemu do reagowania na awarie i nadal pozostając funkcjonalnym. Odporność wykracza poza zapobieganie awariom, aby uwzględnić odzyskiwanie i odtworzenie środowiska natywnego dla chmury z powrotem do stanu dobrej kondycji.
Zagadnienia dotyczące przechowywania wersji
Integracje hostingu i klienta oprogramowania są aktualizowane w każdej wersji w celu dostosowania do najnowszych stabilnych wersji zasobów zależnych. Gdy obrazy kontenerów są aktualizowane przy użyciu nowych wersji obrazów, integracja hostingu zostanie zaktualizowana do tych nowych wersji. Podobnie, gdy nowa wersja pakietu NuGet jest dostępna dla zależnej biblioteki klienta, integracja klienta jest aktualizowana do nowej wersji. Dzięki temu najnowsze funkcje i aktualizacje zabezpieczeń są dostępne dla aplikacji.
W przypadku wystąpienia poważnych zmian powodujących niezgodność w zasobach zależnych od wersji integracje mogą zostać tymczasowo podzielone na pakiety zależne od wersji, aby ułatwić aktualizowanie zmian powodujących niezgodność. Aby uzyskać więcej informacji, zobacz na temat pierwszego przykładu zmiany łamiącej zgodność.
Oficjalne integracje
.NET .NET Aspire zapewnia wiele integracji, które ułatwiają tworzenie aplikacji natywnych dla chmury. Te integracje zostały zaprojektowane tak, aby bezproblemowo współdziałały z .NET.NET Aspire hostem aplikacji i bibliotekami klienta. W poniższych sekcjach opisano niezależne od chmury, Azurespecyficzne dla platformy Amazon Web Services (AWS) i integracje zestawu narzędzi Community Toolkit.
Integracje niezależne od chmury
W poniższej sekcji szczegółowo omówiono niezależne od chmury .NET.NET Aspire integracje z linkami do odpowiednich pakietów docs i NuGet oraz krótki opis każdej integracji.
Dokumenty integracji i pakiety NuGet | Opis |
---|---|
-
Dowiedz się więcej: 📄 Apache Kafka - Hosting: 📦Aspire.Hosting.Kafka - Client: 📦Aspire. Confluent.Kafka |
Biblioteka do generowania i używania komunikatów od brokera Apache Kafka. |
-
Dowiedz się więcej: 📄 Dapr - hosting: 📦Aspire.Hosting.Dapr - Client: Nie dotyczy |
Biblioteka do tworzenia modelu Dapr jako zasobu .NET.NET Aspire. |
-
Dowiedz się więcej: 📄 Elasticsearch - hosting: 📦Aspire.Hosting.Elasticsearch - Client: 📦Aspire. Elastic.Clients.Elasticsearch |
Biblioteka do uzyskiwania dostępu do Elasticsearch baz danych. |
-
Dowiedz się więcej: 📄 Keycloak - hosting: 📦Aspire.Hosting.Keycloak - Client: 📦Aspire.Keycloak. Uwierzytelnianie |
Biblioteka do uzyskiwania dostępu do uwierzytelniania Keycloak. |
-
Dowiedz się więcej: 📄 Milvus - hosting: 📦Aspire.Hosting.Milvus - Client: 📦Aspire.Milvus.Client |
Biblioteka do uzyskiwania dostępu do Milvus baz danych. |
-
Dowiedz się więcej: 📄MongoDB Driver - hosting: 📦Aspire.Hosting.MongoDB - Client: 📦Aspire.MongoDB.Driver |
Biblioteka do uzyskiwania dostępu do MongoDB baz danych. |
-
Dowiedz się więcej: 📄 MySqlConnector - hosting: 📦Aspire.Hosting.MySql - Client: 📦Aspire. MySqlConnector |
Biblioteka służąca do uzyskiwania dostępu do baz danych MySqlConnector. |
-
Dowiedz się więcej: 📄 NATS - Hosting: 📦Aspire.Hosting.Nats - Client: 📦Aspire.NATS.Net |
Biblioteka do uzyskiwania dostępu do komunikatów NATS. |
-
Dowiedz się więcej: 📄Oracle — EF Core - hosting: 📦Aspire.Hosting.Oracle - Client: 📦Aspire.Oracle. EntityFrameworkCore |
Biblioteka do uzyskiwania dostępu do baz danych Oracle przy użyciu Entity Framework Core. |
-
Dowiedz się więcej: 📄 Orleans - hosting: 📦Aspire.Hosting.Orleans - Client: Nie dotyczy |
Biblioteka do tworzenia modelu Orleans jako zasobu .NET.NET Aspire. |
-
Dowiedz się więcej: 📄MySQL Pomelo — EF Core - hosting: 📦Aspire.Hosting.MySql - Client: 📦Aspire. Pomelo.EntityFrameworkCore.MySql |
Biblioteka służąca do uzyskiwania dostępu do baz danych MySql za pomocą Entity Framework Core. |
-
Dowiedz się więcej: 📄PostgreSQL — EF Core - hosting: 📦Aspire.Hosting.PostgreSQL - Client: 📦Aspire. Npgsql.EntityFrameworkCore.PostgreSQL |
Biblioteka do uzyskiwania dostępu do baz danych PostgreSQL przy użyciu Entity Framework Core. |
-
Dowiedz się więcej: 📄 PostgreSQL - hosting: 📦Aspire.Hosting.PostgreSQL - Client: 📦Aspire. npgsql |
Biblioteka do uzyskiwania dostępu do PostgreSQL baz danych. |
-
Dowiedz się więcej: 📄 Qdrant - hosting: 📦Aspire. Hosting.Qdrant - Client: 📦Aspire. Qdrant.Client |
Biblioteka do uzyskiwania dostępu do baz danych Qdrant. |
-
Dowiedz się więcej: 📄 RabbitMQ - hosting: 📦Aspire.Hosting.RabbitMQ - Client: 📦Aspire.RabbitMQ.Client |
Biblioteka umożliwiająca dostęp do RabbitMQ. |
-
Dowiedz się więcej: 📄Redis rozproszone buforowanie - hosting: 📦Aspire.Hosting.Redis, 📦Aspire.Hosting.Garnetlub 📦Aspire.Hosting.Valkey - Client: 📦Aspire.StackExchange.Redis.RozproszonaPamięćPodręczna |
Biblioteka umożliwiająca dostęp do cache Redis na potrzeby buforowania rozproszonego . |
-
Dowiedz się więcej: buforowanie danych wyjściowych 📄Redis - hosting: 📦Aspire.Hosting.Redis, 📦Aspire.Hosting.Garnetlub 📦Aspire.Hosting.Valkey - Client: 📦Aspire. StackExchange.Redis. OutputCaching |
Biblioteka do uzyskiwania dostępu do pamięci podręcznych Redis na potrzeby buforowania danych wyjściowych . |
-
Dowiedz się więcej: 📄 Redis - hosting: 📦Aspire.Hosting.Redis, 📦Aspire.Hosting.Garnetlub 📦Aspire.Hosting.Valkey - Client: 📦Aspire. StackExchange.Redis |
Biblioteka do uzyskiwania dostępu do pamięci podręcznych Redis. |
-
Dowiedz się więcej: 📄 Seq - hosting: 📦Aspire.Hosting.Seq - Client: 📦Aspire.Seq |
Biblioteka do logowania do Seq. |
-
Dowiedz się więcej: 📄SQL Server — EF Core - hosting: 📦Aspire.Hosting.SqlServer - Client: 📦Aspire. Microsoft.EntityFrameworkCore.SqlServer |
Biblioteka do uzyskiwania dostępu do baz danych SQL Server przy użyciu EF Core. |
-
Dowiedz się więcej: 📄 SQL Server - hosting: 📦Aspire.Hosting.SqlServer - Client: 📦Aspire. Microsoft.Data.SqlClient |
Biblioteka do uzyskiwania dostępu do SQL Server baz danych. |
Aby uzyskać więcej informacji na temat pracy z integracjami .NET Aspire w Visual Studio, zobacz narzędzia Visual Studio.
Azure integracje
Azure integracje konfigurują aplikacje do korzystania z zasobów Azure. Te integracje hostingu są dostępne w pakietach NuGet Aspire.Hosting.Azure.*
, podczas gdy ich integracje klienta są dostępne w pakietach NuGet Aspire.*
:
Dokumenty integracji i pakiety NuGet | Opis |
---|---|
-
Dowiedz się więcej: 📄Azure Konfiguracja aplikacji - hosting: 📦Aspire.Hosting.Azure.AppConfiguration - Client: Nie dotyczy |
Biblioteka do interakcji z usługą Azure App Configuration. |
-
Dowiedz się więcej: 📄 Azure Application Insights - Hosting: 📦Aspire.Hosting.Azure.ApplicationInsights - Client: Nie dotyczy |
Biblioteka do interakcji z Azure Application Insights. |
-
Dowiedz się więcej: 📄Azure Cosmos DB — EF Core - hosting: 📦Aspire. Hosting.Azure.CosmosDB - Client: 📦Aspire. Microsoft.EntityFrameworkCore.Cosmos |
Biblioteka do uzyskiwania dostępu do baz danych AzureAzure Cosmos DB za pomocą Entity Framework Core. |
-
Dowiedz się więcej: 📄 Azure Cosmos DB - hosting: 📦Aspire. Hosting.Azure.CosmosDB - Client: 📦Aspire. Microsoft.Azure. Usługa Cosmos |
Biblioteka do uzyskiwania dostępu do Azure Cosmos DB baz danych. |
-
Dowiedz się więcej: 📄 Azure Event Hubs - hosting: 📦Aspire. Hosting.Azure. EventHubs - Client: 📦Aspire.Azure. Messaging.EventHubs |
Biblioteka umożliwiająca dostęp do Azure Event Hubs. |
-
Dowiedz się więcej: 📄Azure Functions - hosting: 📦Aspire. Hosting.Azure. Funkcje - Client: Nie dotyczy |
Biblioteka do integracji z funkcjami Azure. |
-
Dowiedz się więcej: 📄 Azure Key Vault - Hosting: 📦Aspire. Hosting.Azure. KeyVault - Client: 📦Aspire.Azure. Security.KeyVault |
Biblioteka umożliwiająca dostęp do Azure Key Vault. |
-
Dowiedz się więcej: 📄Azure Operational Insights - Hosting: 📦Aspire.Hosting.Azure.OperationalInsights - Client: Nie dotyczy |
Biblioteka umożliwiająca interakcję z Azure Operational Insights. |
-
Dowiedz się więcej: 📄 Azure AI OpenAI - hosting: 📦Aspire.Hosting.Azure.CognitiveServices - Client: 📦Aspire.Azure. AI.OpenAI |
Biblioteka do uzyskiwania dostępu do funkcji Azure AI OpenAI lub OpenAI. |
-
Dowiedz się więcej: 📄 Azure PostgreSQL - hosting: 📦Aspire.Hosting.Azure.PostgreSQL - Client: Nie dotyczy |
Biblioteka do interakcji z bazą danych Azure dla PostgreSQL. |
-
Dowiedz się więcej: 📄Azure wyszukiwanie sztucznej inteligencji - hosting: 📦Aspire. Hosting.Azure. wyszukiwanie - Client: 📦Aspire.Azure. Search.Documents |
Biblioteka umożliwiająca dostęp do funkcji wyszukiwania sztucznej inteligencji Azure. |
-
Dowiedz się więcej: 📄 Azure Service Bus - hosting: 📦Aspire.Hosting.Azure.ServiceBus - Client: 📦Aspire.Azure. Messaging.ServiceBus |
Biblioteka umożliwiająca dostęp do Azure Service Bus. |
-
Dowiedz się więcej: 📄 Azure SignalR Service - hosting: 📦Aspire.Hosting.Azure.SignalR - Client: Microsoft.Azure.SignalR |
Biblioteka umożliwiająca dostęp do Azure SignalR Service. |
-
Dowiedz się więcej: 📄 Azure Blob Storage - hosting: 📦Aspire. Hosting.Azure. przechowywanie - Client: 📦Aspire.Azure. Storage.Blobs |
Biblioteka umożliwiająca dostęp do Azure Blob Storage. |
-
Dowiedz się więcej: 📄 Azure Storage Queues - hosting: 📦Aspire. Hosting.Azure. przechowywanie - Client: 📦Aspire.Azure.Storage.Queues |
Biblioteka umożliwiająca dostęp do Azure Storage Queues. |
-
Dowiedz się więcej: 📄 Azure Table Storage - hosting: 📦Aspire. Hosting.Azure. przechowywanie - Client: 📦Aspire.Azure. Dane.Tabele |
Biblioteka służąca do uzyskiwania dostępu do usługi Table Azure. |
-
Dowiedz się więcej: 📄Azure Web PubSub - hosting: 📦Aspire.Hosting.Azure.WebPubSub Messaging.WebPubSub - Client: 📦Aspire.Azure. |
Biblioteka umożliwiająca dostęp do usługi Azure Web PubSub. |
Integracje hostingu usług Amazon Web Services (AWS)
Dokumenty integracji i pakiety NuGet | Opis |
---|---|
-
Dowiedz się więcej: 📄 Hosting AWS - hosting: 📦Aspire. Hosting.AWS - Client: Nie dotyczy |
Biblioteka do modelowania zasobów platformy AWS. |
Aby uzyskać więcej informacji, zobacz GitHub: Aspire. Biblioteka Hosting.AWS.
Integracje z zestawem narzędzi Community Toolkit
Notatka
Integracja zestawu narzędzi Community Toolkit jest oparta na społeczności i utrzymywana przez społeczność .NET.NET Aspire. Te integracje nie są oficjalnie obsługiwane przez zespół .NET.NET Aspire.
Dokumenty integracji i pakiety NuGet | Opis |
---|---|
-
Dowiedz się więcej: 📄Azure emulator Static Web Apps - hosting: 📦 CommunityToolkit.Aspire.Hosting.Azure. StaticWebApps - Client: Nie dotyczy |
Integracja hostingu dla emulatora Azure Static Web Apps (Uwaga: nie obsługuje wdrożenia projektu do Azure Static Web Apps). |
-
Dowiedz się więcej: 📄 Bun hosting - hosting: 📦 CommunityToolkit.Aspire.Hosting.Bun - Client: Nie dotyczy |
Integracja hostingu dla aplikacji bun. |
-
Dowiedz się więcej: 📄Deno hosting - Hosting: 📦 CommunityToolkit.Aspire.Hosting.Deno - Client: Nie dotyczy |
Integracja hostingu dla aplikacji Deno. |
-
Dowiedz się więcej: 📄 Go hosting - hosting: 📦 CommunityToolkit.Aspire. Hosting.Golang - Client: Nie dotyczy |
Integracja hostingu dla aplikacji języka Go. |
-
dowiedz się więcej: 📄 hosting Java/Spring - Hosting: 📦 CommunityToolkit.Aspire.Hosting.Java - Client: Nie dotyczy |
Integracja uruchamiania kodu Java w .NET.NET Aspire przy użyciu lokalnego zestawu JDK lub kontenera. |
-
Dowiedz się więcej: 📄Node.js rozszerzenia hostingu - hosting: 📦 CommunityToolkit.Aspire. Hosting.NodeJs.Extensions - Client: Nie dotyczy |
Integracja zawierająca kilka dodatkowych rozszerzeń do uruchamiania aplikacji Node.js |
-
dowiedz się więcej: 📄 Ollama - hosting: 📦 CommunityToolkit.Aspire. Hosting.Ollama - Client: 📦Aspire.CommunitToolkit.OllamaSharp |
Składnik Aspire korzystający z kontenera Ollama z możliwością pobrania modelu podczas uruchamiania. |
-
Dowiedz się więcej: 📄 hosting Meilisearch - hosting: 📦 CommunityToolkit.Aspire.Hosting.Meilisearch - Client: 📦Aspire.CommunitToolkit.Meilisearch |
Składnik Aspire wykorzystujący kontener Meilisearch. |
-
Dowiedz się więcej: hosting Rust📄 - Hosting: 📦 CommunityToolkit.Aspire.Hosting.Rust - Client: Nie dotyczy |
Integracja hostingu dla aplikacji Rust. |
-
Dowiedz się więcej: 📄 hostowanie projektów bazy danych SQL - Hosting: 📦 CommunityToolkit.Aspire.Hosting.SqlDatabaseProjects - Client: Nie dotyczy |
Integracja hostingu Aspire dla projektów baz danych SQL. |
Aby uzyskać więcej informacji, zobacz .NET.NET Aspire Community Toolkit.