Omówienie .NET.NET Aspire
.NET Aspire to zestaw zaawansowanych narzędzi, szablonów i pakietów do tworzenia obserwowalnych aplikacji gotowych do produkcji. .NET Aspire jest dostarczany za pośrednictwem kolekcji pakietów NuGet, które obsługują konkretne problemy natywne dla chmury. Aplikacje natywne dla chmury często składają się z małych, połączonych elementów lub mikrousług, a nie pojedynczej, monolitycznej bazy kodu. Aplikacje natywne dla chmury zazwyczaj używają dużej liczby usług, takich jak bazy danych, obsługa komunikatów i buforowanie. Aby uzyskać informacje na temat pomocy technicznej, zobacz zasady pomocy technicznej .NET.NET Aspire.
Aplikacja rozproszona
Dlaczego .NET.NET Aspire?
.NET Aspire ma na celu ulepszenie środowiska tworzenia aplikacji .NET natywnych dla chmury. Zapewnia spójny, opiniowany zestaw narzędzi i wzorców, które ułatwiają tworzenie i uruchamianie aplikacji rozproszonych. .NET .NET Aspire jest zaprojektowane w celu pomocy w:
- Orchestration: .NET.NET Aspire udostępnia funkcje do uruchamiania i łączenia aplikacji wieloprojektowych oraz ich zależności dla lokalnych środowisk deweloperskich.
- Integrations: .NET Aspire integracje to pakiety NuGet dla często używanych usług, takich jak Redis lub Postgres, które dzięki ustandaryzowanym interfejsom zapewniają spójne i bezproblemowe połączenie z aplikacją.
- Tooling: .NET Aspire zawiera szablony projektów i narzędzia dla Visual Studio, Visual Studio Codeoraz interfejsu wiersza polecenia .NET, co ułatwia tworzenie i interakcję z projektami .NET.NET Aspire.
Orkiestracja
W .NET.NET Aspireorkiestracja koncentruje się głównie na ulepszaniu lokalnego środowiska deweloperskiego, upraszczając zarządzanie konfiguracją i wzajemnymi połączeniami aplikacji natywnej dla chmury. Należy pamiętać, że orkiestracja .NET.NET Aspirenie ma na celu zastąpienia niezawodnych systemów używanych w środowiskach produkcyjnych, takich jak Kubernetes. Zamiast tego udostępnia zestaw abstrakcji, które usprawniają konfigurowanie odnajdywania usług, zmiennych środowiskowych i konfiguracji kontenerów, eliminując konieczność obsługi szczegółów implementacji niskiego poziomu. Abstrakcje te zapewniają spójny wzorzec konfiguracji w aplikacjach z wieloma integracją i usługami, co ułatwia zarządzanie złożonymi aplikacjami w fazie opracowywania.
.NET .NET Aspire orkiestracja pomaga w następujących kwestiach:
- Kompozycja aplikacji: określ projekty .NET, kontenery, pliki wykonywalne i zasoby w chmurze, które tworzą aplikację.
- Odkrywanie usług i zarządzanie ciągami połączeń: Host aplikacji zarządza wprowadzeniem odpowiednich ciągów połączeń lub konfiguracji sieci oraz informacji o odkrywaniu usług, aby ułatwić pracę deweloperom.
Na przykład przy użyciu .NET Aspireponiższy kod tworzy lokalny zasób kontenera Redis, czeka na udostępnienie go, a następnie konfiguruje odpowiednie parametry połączenia w projekcie "frontend"
z kilkoma wywołaniami metody pomocniczej:
// 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);
Aby uzyskać więcej informacji, zobacz omówienie orkiestracji .NET.NET Aspire.
Ważny
Wywołanie AddRedis tworzy nowy kontener Redis w lokalnym środowisku deweloperskim. Jeśli wolisz użyć istniejącego wystąpienia Redis, możesz użyć metody AddConnectionString, aby odwołać się do istniejących parametrów połączenia. Aby uzyskać więcej informacji, zobacz Dokumentacja istniejących zasobów.
integracje .NET.NET Aspire
.NET .NET Aspire integracje to pakiety NuGet przeznaczone do upraszczania połączeń z popularnymi usługami i platformami, takimi jak Redis lub PostgreSQL. .NET .NET Aspire integracje obsługują wiele problemów natywnych dla chmury za pośrednictwem ustandaryzowanych wzorców konfiguracji, takich jak dodawanie kontroli kondycji i telemetrii. Integracje są dwustronne, z jednej strony reprezentują usługę, z którą się łączysz, a z drugiej reprezentują client lub konsumenta tej usługi. Innymi słowy dla każdego pakietu hostingowego istnieje odpowiedni pakiet client obsługujący połączenie z usługą.
Każda integracja jest projektowana do współpracy z orkiestracją
Rozważmy na przykład następujący kod przy użyciu integracji z usługą .NET.NET Aspire Service Bus:
builder.AddAzureServiceBusClient("servicebus");
Metoda AddAzureServiceBusClient obsługuje następujące problemy:
- Rejestruje ServiceBusClient jako singleton w kontenerze DI do połączenia z Azure Service Bus.
- Stosuje konfiguracje ServiceBusClient bezpośrednio w kodzie lub za pomocą konfiguracji.
- Włącza odpowiednie sprawdzanie stanu zdrowia, rejestrowanie i dane telemetryczne specyficzne dla użycia Azure Service Bus.
Pełna lista dostępnych integracji została szczegółowo przedstawiona na stronie przeglądu integracji .NET.NET Aspire.
Szablony projektów i narzędzia
.NET Aspire udostępnia zestaw szablonów projektów i narzędzi dla Visual Studio, Visual Studio Codeoraz interfejsu linii poleceń .NET. Te szablony ułatwiają tworzenie i interakcję z projektami .NET.NET Aspire. Szablony mają określony charakter i zawierają zestaw wartości domyślnych, która ułatwia szybkie rozpoczęcie pracy. Obejmują one standardowy kod i konfiguracje, które są wspólne dla aplikacji natywnych dla chmury, takich jak telemetria, kontrole kondycji i odnajdywanie usług. Aby uzyskać więcej informacji, zobacz szablony .NET.NET Aspire.
szablony .NET.NET Aspire też obejmują szablonowe metody rozszerzeń, które obsługują typowe konfiguracje usług:
builder.AddServiceDefaults();
Aby uzyskać więcej informacji na temat tego, co robi AddServiceDefaults
, zobacz .NET.NET Aspire ustawienia domyślne usługi.
Po dodaniu do pliku Program.cs powyższy kod obsługuje następujące kwestie:
- OpenTelemetry: Konfiguruje sformatowane rejestrowanie, metryki czasu wykonywania, wbudowane mierniki i śledzenie dla ASP.NET Core, gRPC i HTTP. Aby uzyskać więcej informacji, zobacz .NET.NET Aspire telemetry.
- Domyślne kontrole stanu: Dodaje domyślne punkty końcowe sprawdzania stanu, z których narzędzia mogą korzystać, aby monitorować aplikację. Aby uzyskać więcej informacji, zobacz .NET sprawdzanie kondycji aplikacji w języku C#.
- odkrywanie usług: umożliwia odkrywanie usług dla aplikacji i odpowiednio konfiguruje HttpClient.