Bagikan melalui


ringkasan integrasi .NET.NET Aspire

integrasi .NET Aspire adalah rangkaian paket NuGet yang dikumpulkan yang dipilih untuk memfasilitasi integrasi aplikasi cloud-native dengan layanan dan platform terkemuka, seperti Redis dan PostgreSQL. Setiap integrasi melengkapi fungsionalitas cloud-native penting melalui penyediaan otomatis atau pola konfigurasi standar.

Tips

Selalu berusaha untuk menggunakan versi terbaru integrasi .NET.NET Aspire untuk memanfaatkan fitur, peningkatan, dan pembaruan keamanan terbaru.

Tanggung jawab integrasi

Sebagian besar integrasi .NET.NET Aspire terdiri dari dua pustaka terpisah, masing-masing dengan tanggung jawab yang berbeda. Jenis ini mewakili sumber daya di dalam host aplikasi proyek—dikenal sebagai integrasi hosting . Jenis integrasi lainnya mewakili pustaka klien yang terhubung ke sumber daya yang dimodelkan oleh integrasi hosting, yang dikenal sebagai integrasi klien .

Integrasi Hosting

Integrasi hosting mengonfigurasi aplikasi dengan menyediakan sumber daya (seperti kontainer atau sumber daya cloud) atau menunjuk ke instans yang ada (seperti server SQL lokal). Paket ini memodelkan berbagai layanan, platform, atau kemampuan, termasuk cache, database, pengelogan, penyimpanan, dan sistem olahpesan.

Integrasi hosting memperluas antarmuka IDistributedApplicationBuilder, memungkinkan proyek host aplikasi untuk menyatakan sumber daya dalam model aplikasi . Paket NuGet integrasi hosting resmi diberi tag dengan aspire, integration, dan hosting. Selain integrasi hosting resmi, komunitas telah membuat integrasi hosting untuk berbagai layanan dan platform sebagai bagian dari Toolkit Komunitas.

Untuk informasi tentang membuat integrasi hosting kustom, lihat Membuat integrasi hosting .NET.NET Aspire kustom.

Client integrasi

Client integrasi menghubungkan pustaka klien ke injeksi dependensi (DI), menentukan skema konfigurasi, dan menambahkan pemeriksaan kesehatan, ketahanan, dan telemetri jika berlaku. Library integrasi klien .NET.NET Aspire diawali dengan Aspire. dan kemudian menyertakan nama paket lengkap yang mereka integrasikan, seperti Aspire.StackExchange.Redis.

Paket-paket ini mengonfigurasi pustaka klien yang ada untuk terhubung ke integrasi hosting. Mereka memperluas antarmuka IHostApplicationBuilder, memungkinkan proyek klien seperti aplikasi web atau API Anda menggunakan sumber daya yang terhubung. Paket NuGet resmi untuk integrasi klien ditandai dengan aspire, integration, dan client. Selain integrasi klien resmi, komunitas telah membuat integrasi klien untuk berbagai layanan dan platform sebagai bagian dari Toolkit Komunitas.

Untuk informasi selengkapnya tentang membuat integrasi klien kustom, lihat Membuat integrasi klien .NET.NET Aspire kustom.

Hubungan antara hosting dan integrasi klien

Integrasi hosting dan klien paling baik ketika digunakan bersama-sama, tetapi tidak digabungkan dan dapat digunakan secara terpisah. Beberapa integrasi hosting tidak memiliki integrasi klien yang sesuai. Konfigurasilah yang membuat integrasi hosting berfungsi dengan integrasi klien.

Pertimbangkan diagram berikut yang menggambarkan hubungan antara integrasi hosting dan klien:

Sebuah diagram

Proyek hosting aplikasi adalah tempat di mana integrasi hosting digunakan. Konfigurasi, khususnya variabel lingkungan, disuntikkan ke dalam proyek, executable, dan kontainer, memungkinkan integrasi klien terhubung ke integrasi hosting.

Fitur integrasi

Saat Anda menambahkan integrasi klien ke proyek dalam solusi .NET.NET Aspire Anda, default layanan diterapkan secara otomatis ke proyek tersebut; yang berarti proyek Default Layanan dirujuk dan metode ekstensi AddServiceDefaults dipanggil. Default ini dirancang untuk bekerja dengan baik dalam sebagian besar skenario dan dapat disesuaikan sesuai kebutuhan. Pengaturan default layanan berikut diterapkan:

  • Observabilitas dan telemetri: Secara otomatis menyiapkan konfigurasi pengelogan, pelacakan, dan metrik:

    • Pengelogan : Teknik di mana kode diinstrumentasikan untuk menghasilkan log peristiwa menarik yang terjadi saat program sedang berjalan.
    • Melacak: Bentuk pengelogan khusus yang membantu Anda melokalisasi kegagalan dan masalah performa dalam aplikasi yang didistribusikan di beberapa mesin atau proses.
    • Metrik: Pengukuran numerik yang dicatat dari waktu ke waktu untuk memantau performa dan kesehatan aplikasi. Metrik sering digunakan untuk menghasilkan pemberitahuan ketika potensi masalah terdeteksi.
  • Pemeriksaan kesehatan: Mengekspos titik akhir HTTP untuk memberikan informasi ketersediaan dasar dan status tentang aplikasi. Pemeriksaan kesehatan digunakan untuk memengaruhi keputusan yang dibuat oleh orkestrator kontainer, load balancer, gateway API, dan layanan manajemen lainnya.

  • Ketahanan : Kemampuan sistem Anda untuk bereaksi terhadap kegagalan dan masih tetap berfungsi. Ketahanan tidak hanya mencakup pencegahan kegagalan tetapi juga pemulihan dan rekonstruksi lingkungan cloud Anda menjadi kembali sehat.

Pertimbangan penerapan versi

Integrasi hosting dan klien diperbarui setiap rilis untuk menargetkan versi stabil terbaru dari sumber daya dependen. Ketika gambar kontainer diperbarui dengan versi gambar baru, integrasi hosting diperbarui ke versi baru ini. Demikian pula, ketika versi NuGet baru tersedia untuk pustaka klien dependen, integrasi klien yang sesuai diperbarui ke versi baru. Ini memastikan fitur terbaru dan pembaruan keamanan tersedia untuk aplikasi. Jenis pembaruan .NET.NET Aspire (utama, minor, patch) tidak selalu menunjukkan jenis pembaruan dalam sumber daya dependen. Misalnya, versi utama baru sumber daya dependen dapat diperbarui dalam rilis patch .NET.NET Aspire, jika perlu.

Ketika perubahan besar yang mengganggu fungsionalitas terjadi di sumber daya dependen, integrasi dapat dibagi sementara menjadi paket yang bergantung pada versi untuk memudahkan pembaruan saat menghadapi perubahan yang mengganggu. Untuk informasi selengkapnya, lihat contoh pertama dari perubahan signifikan tersebut.

Integrasi resmi

.NET .NET Aspire menyediakan banyak integrasi untuk membantu Anda membangun aplikasi cloud-native. Integrasi ini dirancang agar dapat berfungsi dengan mulus dengan host aplikasi .NET.NET Aspire dan pustaka klien. Bagian berikut merinci integrasi cloud-agnostic, Azure-specific, Amazon Web Services (AWS), dan Community Toolkit.

Integrasi yang tidak bergantung pada cloud tertentu

Bagian berikut merinci integrasi .NET.NET Aspire cloud-agnostic dengan tautan ke dokumen dan paket NuGet masing-masing, dan memberikan deskripsi singkat tentang setiap integrasi.

Dokumen integrasi dan paket NuGet Deskripsi
- Pelajari lebih lanjut: 📄 Apache Kafka
- Hosting: 📦Aspire. Hosting.Kafka
- Client: 📦Aspire. Confluent.Kafka
Perpustakaan untuk memproduksi dan mengonsumsi pesan dari broker Apache Kafka.
- Pelajari lebih lanjut: 📄 Dapr
- Hosting: 📦Aspire. Hosting.Dapr
- Client:N/A
Perpustakaan untuk pemodelan Dapr sebagai sumber daya .NET.NET Aspire.
- Pelajari lebih lanjut: 📄 Elasticsearch
- Hosting: 📦Aspire. Hosting.Elasticsearch
- Client: 📦Aspire. Elastic.Clients.Elasticsearch
Pustaka untuk mengakses database Elasticsearch.
- Pelajari lebih lanjut: 📄 Keycloak
- Hosting: 📦Aspire. Hosting.Keycloak
- Client: 📦Aspire.Keycloak. Autentikasi
Pustaka untuk mengakses autentikasi pada sistem Keycloak.
- Pelajari lebih lanjut: 📄 Milvus
- Hosting: 📦Aspire. Hosting.Milvus
- Client: 📦Aspire.Milvus.Client
Pustaka untuk mengakses database Milvus.
- Pelajari lebih lanjut: 📄MongoDB Driver
- Hosting: 📦Aspire. Hosting.MongoDB
- Client: 📦Aspire.MongoDB. Pengandar
Pustaka untuk mengakses database MongoDB.
- Pelajari lebih lanjut: 📄 MySqlConnector
- Hosting: 📦Aspire.Hosting.MySql
- Client: 📦Aspire. MySqlConnector
Pustaka untuk mengakses MySqlConnector database.
- Pelajari lebih lanjut: 📄 NATS
- Hosting: 📦Aspire.Hosting.Nats
- Client: 📦Aspire.NATS.Net
Perpustakaan untuk mengakses pesan NATS.
- Pelajari lebih lanjut: 📄Oracle - EF Core
- Hosting: 📦Aspire. Hosting.Oracle
- Client: 📦Aspire.Oracle. EntityFrameworkCore
Pustaka perangkat lunak untuk mengakses database Oracle dengan Entity Framework Core.
- Pelajari lebih lanjut: 📄 Orleans
- Hosting: 📦Aspire. Hosting.Orleans
- Client:N/A
Perpustakaan untuk pemodelan Orleans sebagai sumber daya .NET.NET Aspire.
- Pelajari lebih lanjut: 📄 Pomelo MySQL - EF Core
- Hosting: 📦Aspire.Hosting.MySql
- Client: .📦Aspire Pomelo.EntityFrameworkCore.MySql
Pustaka perangkat lunak untuk mengakses database MySql dengan Entity Framework Core.
- Pelajari lebih lanjut: 📄PostgreSQL - EF Core
- Hosting: 📦Aspire. Hosting.PostgreSQL
- Client: 📦Aspire. Npgsql.EntityFrameworkCore.PostgreSQL
Perpustakaan untuk mengakses database PostgreSQL menggunakan Entity Framework Core.
- Pelajari lebih lanjut: 📄 PostgreSQL
- Hosting: 📦Aspire. Hosting.PostgreSQL
- Client: 📦Aspire. Npgsql
Pustaka untuk mengakses database PostgreSQL.
- Pelajari lebih lanjut: 📄 Qdrant
- Hosting: 📦Aspire.Hosting.Qdrant
- Client: 📦Aspire. Qdrant.Client
Perpustakaan untuk mengakses database Qdrant.
- Pelajari lebih lanjut: 📄 RabbitMQ
- Hosting: 📦Aspire. Hosting.RabbitMQ
- Client: 📦Aspire.RabbitMQ.Client
Sebuah pustaka untuk mengakses RabbitMQ.
- Pelajari lebih lanjut: 📄Redis Penembolokan Terdistribusi
- Hosting: 📦Aspire. Hosting.Redis, 📦Aspire. Hosting.Garnet, atau 📦Aspire. Hosting.Valkey
- Client: .📦Aspire StackExchange.Redis. DistributedCaching
Perpustakaan untuk mengakses cache Redis untuk caching terdistribusi.
- Pelajari selengkapnya: 📄Redis Penembolokan Output
- Hosting: 📦Aspire. Hosting.Redis, 📦Aspire. Hosting.Garnet, atau 📦Aspire. Hosting.Valkey
- Client: 📦Aspire. StackExchange.Redis. OutputCaching
Pustaka untuk mengakses cache Redis untuk penembolokan output.
- Pelajari lebih lanjut: 📄 Redis
- Hosting: 📦Aspire. Hosting.Redis, 📦Aspire. Hosting.Garnet, atau 📦Aspire. Hosting.Valkey
- Client: 📦Aspire. StackExchange.Redis
Sebuah pustaka untuk mengakses cache Redis.
- Pelajari lebih lanjut: 📄 Seq
- Hosting: 📦Aspire. Hosting.Seq
- Client: .📦AspireSeq
Pustaka untuk pengelogan ke Seq.
- Pelajari lebih lanjut: 📄SQL Server - EF Core
- Hosting: 📦Aspire.Hosting.SqlServer
- Client: 📦Aspire. Microsoft.EntityFrameworkCore.SqlServer
Pustaka untuk mengakses database SQL Server menggunakan EF Core.
- Pelajari lebih lanjut: 📄 SQL Server
- Hosting: 📦Aspire.Hosting.SqlServer
- Client: 📦Aspire. Microsoft.Data.SqlClient
Pustaka untuk mengakses database SQL Server.

Untuk detail lebih lanjut tentang bekerja dengan integrasi .NET Aspire di Visual Studio, silakan merujuk ke peralatan Visual Studio.

Azure integrasi

integrasi Azure mengonfigurasi aplikasi untuk menggunakan sumber daya Azure. Integrasi hosting ini tersedia dalam paket NuGet Aspire.Hosting.Azure.*, sementara integrasi klien mereka tersedia dalam paket NuGet Aspire.*:

Integrasi Dokumentasi dan Paket NuGet Deskripsi
Azure Logo App Configuration. - Pelajari lebih lanjut: 📄Azure Konfigurasi Aplikasi
- Hosting: 📦Aspire. Hosting.Azure. AppConfiguration
- Client:N/A
Pustaka untuk berinteraksi dengan Azure Konfigurasi Aplikasi.
AzureApplication Insights logo. - Pelajari lebih lanjut: 📄 Azure Application Insights
- Hosting: 📦Aspire. Hosting.Azure. ApplicationInsights
- Client:N/A
Pustaka untuk berinteraksi dengan Azure Application Insights.
AzureAzure Cache for Redis logo - Pelajari lebih lanjut: 📄 Azure Cache for Redis
- Hosting: 📦Aspire. Hosting.Azure.Redis
- Client: 📦Aspire. StackExchange.Redis atau 📦Aspire. StackExchange.Redis. DistributedCaching atau 📦Aspire. StackExchange.Redis. OutputCaching
Sebuah pustaka untuk mengakses Azure Cache for Redis.
AzureAzure Cosmos DB Logo EF. - Pelajari lebih lanjut: 📄Azure Cosmos DB - EF Core
- Hosting: 📦Aspire. Hosting.Azure. CosmosDB
- Client: 📦Aspire. Microsoft.EntityFrameworkCore.Cosmos
Sebuah pustaka untuk mengakses database AzureAzure Cosmos DB dengan Entity Framework Core.
AzureAzure Cosmos DB logo. - Pelajari lebih lanjut: 📄 Azure Cosmos DB
- Hosting: 📦Aspire. Hosting.Azure. CosmosDB
- Client: 📦Aspire. Microsoft.Azure. Cosmos
Pustaka untuk mengakses database Azure Cosmos DB.
Azure Event Hubs logo. - Pelajari lebih lanjut: 📄 Azure Event Hubs
- Hosting: 📦Aspire.Hosting.Azure. EventHubs
- Client: 📦Aspire.Azure. PusatPesan.EventHubs
Sebuah pustaka untuk mengakses Azure Event Hubs.
Azure Fungsi logo. - Pelajari lebih lanjut: 📄Azure Fungsi
- Hosting: 📦Aspire. Hosting.Azure. Fungsi
- Client:N/A
Pustaka untuk mengintegrasikan dengan Fungsi Azure.
Azure Key Vault logo. - Pelajari lebih lanjut: 📄 Azure Key Vault
- Hosting: 📦Aspire. Hosting.Azure. KeyVault
- Client: 📦Aspire.Azure. Security.KeyVault
Sebuah pustaka untuk mengakses Azure Key Vault.
Azure Logo Operational Insights. - Pelajari lebih lanjut: 📄Azure Wawasan Operasional
- Hosting: 📦Aspire. Hosting.Azure. OperationalInsights
- Client:N/A
Pustaka untuk berinteraksi dengan Azure Wawasan Operasional.
AzureOpenAI logo. - Pelajari lebih lanjut: 📄 Azure AI OpenAI
- Hosting: 📦Aspire. Hosting.Azure. CognitiveServices
- Client: 📦Aspire.Azure. AI.OpenAI
Pustaka untuk mengakses fungsi Azure AI OpenAI atau OpenAI.
AzurePostgreSQL logo. - Pelajari lebih lanjut: 📄 Azure PostgreSQL
- Hosting: 📦Aspire. Hosting.Azure.PostgreSQL
- Client:N/A
Perpustakaan untuk berinteraksi dengan database Azure untuk PostgreSQL.
Azure logo Pencarian AI. Pelajari lebih lanjut: Pencarian AI
- Hosting: 📦Aspire. Hosting.Azure. Pencarian
- Client: 📦Aspire.Azure. Pencarian.Dokumen
Pustaka untuk mengakses fungsi Pencarian AI Azure.
Azure Service Bus logo. - Pelajari lebih lanjut: 📄 Azure Service Bus
- Hosting: 📦Aspire. Hosting.Azure. ServiceBus
- Client: 📦Aspire.Azure. Messaging.ServiceBus
Sebuah pustaka untuk mengakses Azure Service Bus.
AzureAzure SignalR Service logo. - Pelajari lebih lanjut: 📄 Azure SignalR Service
- Hosting: 📦Aspire. Hosting.Azure.SignalR
- Client: Microsoft.Azure.SignalR
Sebuah pustaka untuk mengakses Azure SignalR Service.
Azure Blob Storage logo. - Pelajari lebih lanjut: 📄 Azure Blob Storage
- Hosting: 📦Aspire. Hosting.Azure. Penyimpanan
- Client: 📦Aspire.Azure.Storage.Blobs
Sebuah pustaka untuk mengakses Azure Blob Storage.
Azure Storage Queues logo. - Pelajari lebih lanjut: 📄 Azure Storage Queues
- Hosting: 📦Aspire. Hosting.Azure. Penyimpanan
- Client: 📦Aspire.Azure. Penyimpanan.Antrian
Sebuah pustaka untuk mengakses Azure Storage Queues.
Azure Table Storage logo. - Pelajari lebih lanjut: 📄 Azure Table Storage
- Hosting: 📦Aspire. Hosting.Azure. Penyimpanan
- Client: 📦Aspire.Azure. Data.Tables
Pustaka yang digunakan untuk mengakses layanan Tabel Azure.
AzureWeb PubSub logo. - Pelajari lebih lanjut: 📄 Azure Web PubSub
- Hosting: 📦Aspire.Hosting.Azure.WebPubSub
- Client: 📦Aspire.Azure.Messaging.WebPubSub
Sebuah pustaka untuk mengakses layanan Azure Web PubSub.

Integrasi hosting Amazon Web Services (AWS)

Dokumen integrasi dan paket NuGet Deskripsi
- Pelajari lebih lanjut: 📄 AWS Hosting
- Hosting: 📦Aspire.Hosting.AWS
- Client:N/A
Pustaka pemodelan sumber daya AWS.

Untuk informasi selengkapnya, lihat GitHub: Aspire. Pustaka Hosting.AWS.

Integrasi Toolkit Komunitas

Nota

Integrasi Community Toolkit digerakkan oleh komunitas dan dikelola oleh komunitas .NET.NET Aspire. Integrasi ini tidak didukung secara resmi oleh tim .NET.NET Aspire.

Dokumen integrasi dan paket NuGet Deskripsi
- Pelajari lebih lanjut: 📄Azure emulator Aplikasi Web Statis
- Hosting: 📦 CommunityToolkit.Aspire. Hosting.Azure. StaticWebApps
- Client:N/A
Integrasi hosting untuk emulator Azure Static Web Apps (Catatan: ini tidak mendukung penyebaran proyek untuk Azure Static Web Apps).
- Pelajari lebih lanjut: 📄 hosting
- Hosting: 📦 CommunityToolkit.Aspire.Hosting.Bun
- Client:N/A
Integrasi hosting untuk aplikasi Bun.
- Pelajari lebih lanjut: 📄Deno hosting
- Hosting: 📦 CommunityToolkit.Aspire. Hosting.Deno
- Client:N/A
Integrasi hosting untuk aplikasi Deno.
- Pelajari lebih lanjut: 📄 Go hosting
- Hosting: 📦 CommunityToolkit.Aspire.Hosting.Golang
- Client:N/A
Integrasi hosting untuk aplikasi Go.
- Pelajari lebih lanjut: 📄 hosting Java/Spring
- Hosting: 📦 CommunityToolkit.Aspire. Hosting.Java
- Client:N/A
Integrasi untuk menjalankan kode Java di .NET.NET Aspire menggunakan JDK lokal atau menggunakan kontainer.
- Pelajari lebih lanjut: 📄Node.js ekstensi hosting
- Hosting: 📦 CommunityToolkit.Aspire. Hosting.NodeJs.Extensions
- Client:N/A
Integrasi yang berisi beberapa ekstensi tambahan untuk menjalankan aplikasi Node.js
- Pelajari lebih lanjut: 📄 Ollama
- Hosting: 📦 CommunityToolkit.Aspire. Hosting.Ollama
- Client: .📦Aspire CommunitToolkit.OllamaSharp
Komponen Aspire yang memanfaatkan kontainer Ollama dengan mendukung pengunduhan model saat startup.
- Pelajari lebih lanjut: 📄 hosting Meilisearch
- Hosting: 📦 CommunityToolkit.Aspire.Hosting.Meilisearch
- Client: .📦Aspire CommunitToolkit.Meilisearch
Komponen Aspire yang menggunakan kontainer Meilisearch.
- Pelajari lebih lanjut: 📄 hosting untuk Rust
- Hosting: 📦 CommunityToolkit.Aspire.Hosting.Rust
- Client:N/A
Integrasi hosting untuk aplikasi Rust.
- Pelajari selengkapnya: 📄 proyek SQL Database yang menghosting
- Hosting: 📦 CommunityToolkit.Aspire.Hosting.SqlDatabaseProjects
- Client:N/A
Integrasi hosting Aspire untuk Proyek SQL Database.
- Pelajari lebih lanjut: 📄 RavenDB
- Hosting: 📦 CommunityToolkit.Aspire. Hosting.RavenDB
- Client: 📦Aspire. CommunityToolkit.RavenDB.Client
Komponen Aspire yang memanfaatkan kontainer RavenDB .

Untuk informasi selengkapnya, lihat .NET.NET AspireCommunity Toolkit.